GetObjectProp function
Return value of an object-type property.
Declaration
function GetObjectProp(Instance: TObject; const PropName: string)
: TObjectDescription
GetObjectProp returns the object which the property described by
PropInfo with name
Propname points to for object
Instance.
If MinClass is specified, then if the object is not descendent of
class MinClass, then Nil is returned.
Errors
No checking is done whether
Instance is non-nil, or whether
PropInfo describes a valid method property of
Instance.
Specifying an invalid property name in
PropName will result in an
EPropertyError exception.
See also
Example: ex5
program example5;
{ This program demonstrates the GetObjectProp function }
{$mode objfpc}
uses rttiobj,typinfo;
Var
O : TMyTestObject;
PI : PPropInfo;
NO1,NO2 : TNamedObject;
begin
O:=TMyTestObject.Create;
NO1:=TNamedObject.Create;
NO1.ObjectName:='First named object';
NO2:=TNamedObject.Create;
NO2.ObjectName:='Second named object';
O.ObjField:=NO1;
Writeln('Object property : ');
PI:=GetPropInfo(O,'ObjField');
Write('Property class : ');
Writeln(GetObjectPropClass(O,'ObjField').ClassName);
Write('Value : ');
Writeln((O.ObjField as TNamedObject).ObjectName);
Write('Get (name) : ');
Writeln((GetObjectProp(O,'ObjField') As TNamedObject).ObjectName);
Write('Get (propinfo) : ');
Writeln((GetObjectProp(O,PI,TObject) as TNamedObject).ObjectName);
SetObjectProp(O,'ObjField',NO2);
Write('Set (name,NO2) : ');
Writeln((O.ObjField as TNamedObject).ObjectName);
SetObjectProp(O,PI,NO1);
Write('Set (propinfo,NO1) : ');
Writeln((O.ObjField as TNamedObject).ObjectName);
O.Free;
end.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
