Hallo, ich habe in einer selbst erstellten Klasse einige Felder als Objekt einer bestimmten Klasse.
Wie kann ich diese im Constructor bzw. Destructor dynamisch über eine "
RTTI-Schleife" über alle vorhandenen Felder erzeugen/freigeben.
Code:
var
rttiContextFeld: TRttiContext;
rttiTypeFeld: TRttiType;
rttiField: TRttiField;
begin
rttiContextFeld := TRttiContext.Create;
try
rttiTypeFeld := rttiContextFeld.GetType(self.ClassType);
for rttiField in rttiTypeFeld.GetDeclaredFields do
begin
if (rttiField.FieldType.ToString = AnsiUpperCase('TMyClass') then
begin
// Hier soll das Object erzeugt/freigegeben werden
end;
end;
finally
rttiContextFeld.Free;
end;
end;