Consider the following:
TFieldType = class
fValue: string;
end;
TMainClass = class
private
Ffield: TFieldType;
public
function GetValue: string;
end;
In TMainClass.GetValue I'm tryin get values of TMainClass fields:
function TMainClass.GetValue;
begin
vCtx := TRTTIContext.Create;
vType := vCtx.GetType(Self.ClassInfo);
for vField in vType.GetFields do
vField.GetValue(
//Here's the trouble, because i don't know how to get the instance
);
May be there are another ways of getting values of fields which are the instances of another classes?
You have to pass the instance as the a parameter of GetValue like
vField.GetValue(self);
For a better understanding of Rtti read the remarkable articles about RTTI by Robert Love. For this problem specialy this one about Properties and Fields.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With