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