Forum: FreePascal
by DeddyH,
27. Okt 2011
Dann kommst Du ja gar nicht ran, auch nicht mit 10.000 "is"-Abfragen.
Forum: FreePascal
by DeddyH,
27. Okt 2011
Du musst wohl dafür sorgen, dass die gesuchte Property published ist, das ist der Nachteil (zumindest in Delphi < 2010) dabei. Ein Test mit Delphi 2007:
type
TLabel = class(StdCtrls.TLabel)
published
property Canvas;
end;
TPanel = class(ExtCtrls.TPanel)
published
property Canvas;
Forum: FreePascal
by DeddyH,
27. Okt 2011
Du kannst doch die "CompHasCaption"-Funktion dynamischer gestalten, indem Du den Namen der gesuchten Property als Parameter übergibst. Anschließend prüfst Du, ob das übergebene Control alle benötigten Properties besitzt, und setzt sie erst in dem Fall.
Beispiel:
function CompHasProp(AClass : TObject; PropName: string): Boolean;
var
MyPropInfo: PPropInfo;
begin
MyPropInfo :=...
Forum: FreePascal
by DeddyH,
27. Okt 2011
Ich hatte blöderweise nicht auf den Thread, sondern auf einen einzelnen Beitrag verlinkt. Das Gegenstück findet man am Ende des Threads. Das erspart dann die ganzen "is"-Abfragen.
Forum: FreePascal
by DeddyH,
27. Okt 2011
Ein Label hat auch eine Caption und ist garantiert kein TWinControl.