So richtig komme ich noch nicht klar.
Mit einer einzelnen bestimmten Komponente gehts..
Delphi-Quellcode:
procedure TFMain.repaint_bauteil(acomp_name: string; astatus: integer);
var
aComp: TComponent;
acolor: TColor;
begin
aComp := FMain.FindComponent(aComp_Name);
acolor := (acomp as TMyOwnComp).FarbeDefault;
case aStatus of
99: Acolor := clred;
100: Acolor := clyellow;
end;
(acomp as TMyOwnComp).Farbe := acolor;
(acomp as TMyOwnComp).Repaint;
end;
Da ich aber verschiedene eigene Klassen habe (verschiedene eigene Grafiken) vom
Typ TmyOwnCompName1, TmyOwnCompName2..... dachte ich mir, es geht vielleicht wie folgt,
tuts aber nicht
Alle Komponenten haben die Eigenschft Farbe und die Methode Repaint;
Delphi-Quellcode:
procedure TFMain.repaint_bauteil(acomp_name: string; astatus: integer);
var
aComp: TComponent;
acolor: TColor;
aClassType: TClass;
begin
aComp := FMain.FindComponent(aComp_Name);
aCLassType := aComp.ClassType;
.....
(acomp as aClassType).Farbe := acolor; // geht nicht *******
end;