GetEnumProp function
Return the value of an enumeration type property.
Declaration
function GetEnumProp(Instance: TObject; const PropName: string): stringDescription
GetEnumProp returns the value of an property of an enumerated type
and returns the name of the enumerated value for the object
Instance.
The property whose value must be returned can be specified by its property
info in
PropInfo or by its name in
PropNameErrors
No check is done to determine whether
PropInfo really points to the
property information for an enumerated type.
Specifying an invalid property name in
PropName will result in an
EPropertyError exception.
See also
Example: ex2
program example2;
{ This program demonstrates the GetEnumProp function }
{$mode objfpc}
uses rttiobj,typinfo;
Var
O : TMyTestObject;
PI : PPropInfo;
TI : PTypeInfo;
begin
O:=TMyTestObject.Create;
PI:=GetPropInfo(O,'MyEnumField');
TI:=PI^.PropType;
Writeln('Enum property : ');
Writeln('Value : ',GetEnumName(TI,Ord(O.MyEnumField)));
Writeln('Get (name) : ',GetEnumProp(O,'MyEnumField'));
Writeln('Get (propinfo) : ',GetEnumProp(O,PI));
SetEnumProp(O,'MyEnumField','meFirst');
Writeln('Set (name,meFirst) : ',GetEnumName(TI,Ord(O.MyEnumField)));
SetEnumProp(O,PI,'meSecond');
Writeln('Set (propinfo,meSecond) : ',GetEnumName(TI,Ord(O.MyEnumField)));
O.Free;
end.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
