Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
Delphi 12 Athens
|
AW: TList generische Liste Fehler beim deklarieren RTTI
15. Aug 2011, 10:26
Es steht ja beinahe schon da. Trotzdem hier noch ein Beispiel mit einer Klasse statt eines Records (Code von Stevie weitestgehend übernommen, ein Button und ein Memo auf dem Formular):
Delphi-Quellcode:
uses RTTI, TypInfo;
type
TTestClass = class
private
FSomeString: string;
FSomeInteger: integer;
FSomeDouble: double;
public
property SomeString: string read FSomeString write FSomeString;
property SomeInteger: integer read FSomeInteger write FSomeInteger;
property SomeDouble: double read FSomeDouble write FSomeDouble;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Test: TTestClass;
ctx: TRttiContext;
t: TRttiType;
p: TRttiProperty;
begin
Test := TTestClass.Create;
try
Test.SomeString := ' Hallo Welt';
Test.SomeInteger := 42;
Test.SomeDouble := Pi;
t := ctx.GetType(TypeInfo(TTestClass));
if Assigned(t) then
for p in t.GetProperties do
begin
if p.Visibility in [mvPublic..mvPublished] then
Memo1.Lines.Add(p. Name + ' = ' + p.GetValue(Test).ToString);
end;
finally
Test.Free;
end;
end;
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|