Skip to content

GetEnumProp

Return the value of an enumeration type property.

Declaration

Source position: typinfo.pp line 1235

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
SetEnumProp Set value of an enumerated-type property.
GetOrdProp Get the value of an ordinal property.
GetStrProp Return the value of a string property.
GetInt64Prop return value of an Int64 property.
GetMethodProp Return value of a method property.
GetSetProp Return the value of a set property.
GetObjectProp Return value of an object-type property.
GetEnumProp Return the value of an enumeration 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.