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.