Hallo ,
gleich mal vorab so ein Zugriff:
(Form1.Findcomponent('Mainpanel'+inttostr(selecteditem)) as TPanel).stylelookup:='pnl_notselectedItemStyle';
ist furchtbar unschön und fehleranfällig. Bennenst du dein Panel mal um oder selecteditem ist zu hoch, oder, oder, oder.... fliegt dir das ganze um die Ohren.
Sauberer wäre hier was in der Richtung:
Delphi-Quellcode:
procedure Foo;
var
tmpPanel: TObject;
begin
tmpPanel := Form1.Findcomponent('Mainpanel'+inttostr(selecteditem);
if Assigned(tmpPanel) AND (tmpPanel IS TPanel) then
TPanel(tmpPanel).stylelookup := 'pnl_notselectedItemStyle'
else ShowMessage('Gesuchtes Panel nicht gefunden');
end;
Zu deinem Konkreten Problem:
Hab mal versucht deine Situation bei mir (XE8) nachzustellen:
Einfach ein Panel auf ein leeres Formular geworfen, folgenden Code versucht:
(Form1.FindComponent('Panel1') As TPanel).StyleLookup := 'Test';
und es klappte.
Ev. kannst du mal ein komplettes Code - Schnipsel hochladen, damit ich deinen Fall genauer nachvollziehen kann.
LG
PS.: der Code ober bei ist ohne Test getippt => vertipper sind somit möglich