Hier mal ein Beispiel für
RTTI:
Delphi-Quellcode:
type
{$TYPEINFO ON} // Ohne das geht's nicht!
TMyClass = class
private
FEigensch_1: string;
FEigensch_2: integer;
public
property Eigensch_2: integer read FEigensch_2 write FEigensch_2; // public properties gehen so auch nicht!
published
property Eigensch_1: string read FEigensch_1 write FEigensch_1; // dafür gehen aber published properties
end;
procedure TForm1.verarbeite(Variable: TObject);
var
N: Integer;
i : integer;
PropList: PPropList;
begin
N := GetPropList(Variable, PropList);
for i := 0 to N - 1 do begin
Memo1.Lines.Add(PropList[I].Name);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Variable: TMyClass;
begin
Variable := TMyClass.create;
try
verarbeite(Variable);
finally
Variable.Free;
end;
end;