ClassInfo - метод класса, поэтому вы можете его использовать вместо экземпляра объекта. Но прежде вам необходимо заиметь этот класс, иначе никакого RTTI...
{$Z+}typeTMyEnum = (one, two, three);TEnumClass = Class( TComponent )privateFEnum: TMYEnum;publishedproperty Enum: TMyEnum read FEnum;End; procedure TForm1.BtnTestClick(Sender: TObject);VarpOneName: PString;PropInfo: PPropInfo;beginPropInfo := GetPropInfo( TEnumClass.ClassInfo, 'ENUM' );pOneName := GetEnumName( PropInfo^.PropType, Ord(One));If pOneName <> Nil ThenShowMessage( pOneName^)ElseShowMessage('Nil!');end; |
Черная магия <G>!
- Peter Below [000761]