Einzelnen Beitrag anzeigen

DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#12

Re: Eigenschaften unterschiedlicher Objekte ändern

  Alt 7. Okt 2008, 10:20
Hallo,


das vom Bernd ist doch gut:

Auf den ersten blick vielleicht aufwendiger, aber dafür eine Universal-Lösung.

Mfg

Zitat von Bernhard Geyer:
RTTI ist das Zauberwort. Genau so wie auch die VCL/RTL aus den DFM-Ressourcen die Komponenten wieder herstellt.

Hier ein Beispiel zum setzen eines Boolean-Properties:

Delphi-Quellcode:
uses
  TypInfo;

procedure MySetPropertyBool(Component: TComponent; const PropName: String; const Value: Boolean);
var
  PropInfo: PPropInfo;
begin
  if (Component <> nil) then
  begin
    PropInfo := GetPropInfo(Component.ClassInfo, PropName);
    if (PropInfo <> nil) then
    begin
      if (PropInfo^.PropType^.Kind in [tkEnumeration]) then
        SetEnumProp(Component, PropInfo, BooleanIdents[Value]);
    end;
  end;
end;
nichts ist so schön wie man es sich vorstellt
  Mit Zitat antworten Zitat