Guten Abend,
Ich habe hier ein Objekt, das entweder vom Typ A, B oder C ist. Alle drei Typen besitzten eine als published deklarierte Eigenschaft PubStr vom Typ String. Der letzte gemeinsame Ancestor von A, B und C ist TWinControl. Gibt es eine Möglichkeit zu prüfen, ob eine beliebige Komponente eine bestimmte Eigenschaft besitzt und kann man diese Eigenschaft, sofern der Typ bekannt ist, mit nur einem Funktionsaufruf auslesen?
Ein Beispiel wie ich mir das vorstelle:
Delphi-Quellcode:
procedure foo;
var Compo: TComponent;
CompoList: Tlist;
begin
CompoList := TList.Create;
CompoList.Add(frmMain);
{...}
Compo := CompoList[0];
If PropertyExists(Compo, 'Caption') then
ShowMessage(GetStringProperty(Compo, 'Caption'));
end;
Viele Grüße,
Dani
Dani H.