GetEnumProp
Return the value of an enumeration type property.
Declaration
Source position: typinfo.pp line 894
function GetEnumProp(Instance: TObject; const PropName: string) : string;
function GetEnumProp(Instance: TObject; const PropInfo: PPropInfo)
: string;
Description
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 PropName
Errors
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
Name | Description |
---|---|
GetEnumProp | Return the value of an enumeration type property. |
GetInt64Prop | return value of an Int64 property |
GetMethodProp | Return value of a method property |
GetObjectProp | Return value of an object-type property. |
GetOrdProp | Get the value of an ordinal property |
GetSetProp | Return the value of a set property. |
GetStrProp | Return the value of a string property. |
SetEnumProp | Set value of an enumerated-type property |
Example
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.