Einzelnen Beitrag anzeigen

Highttower

Registriert seit: 2. Jun 2009
Ort: Worms
88 Beiträge
 
Delphi 2010 Professional
 
#3

AW: RTTI - Rad 2007

  Alt 30. Jul 2010, 13:10
Hallo,

das klappt nicht zum einen konnt ich erst nicht drauf zu greifen, daher musste ich mir die in die Unit kopieren ....

Zum anderen findet auch diese Methode nur Published-Eigenschaften. Hier mal mein Code zum austesten:

Delphi-Quellcode:
  type

  TForm4 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FValue : Integer;
    { Private-Deklarationen }
    procedure Foo(AObject : TObject);


  public

    property Scaleunit: Integer read FValue write FValue ;
    { Public-Deklarationen }
  end;
Delphi-Quellcode:
function FindPropInfo(Instance: TObject; const PropName: string): PPropInfo;
begin
  Result := GetPropInfo(Instance, PropName);
  if Result = nil then
    raise Exception.Create('Prop konnte nicht gefunden werden: '+PropName);
end;

procedure TForm4.Foo(AObject: TObject);
begin
  ShowMessage( AObject.ClassName);
  ShowMessage(IntToStr( GetOrdProp(GetObjectProp(AObject,'Font'), 'Size')));
 // ReadProp(AObject, 'Value');
  if FindPropInfo(AObject, 'Value') = nil then
    ShowMessage('funzt');
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
    FValue := 23;
    Foo(Self);
end;
Noch mal vielen Dank,

Tobi
Tobi
Rechtschreib und Semikolion Fehler dürfen behalten werden.

Geändert von mkinzler (30. Jul 2010 um 13:22 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat