我已经声明了以下枚举类型,其中我希望第一个成员的序数值为1(一)而不是通常的0(零):
type TMyEnum = ( meFirstValue = 1,meSecondValue,meThirdValue );
如果我调用TypeInfo(),例如作为调用GetEnumName()的一部分,我得到一个编译器错误:
GetEnumName(TypeInfo(TMyEnum),Ord(aValue));
错误:“E2134:类型’TMyEnum’没有typeinfo”
为什么是这样?
我知道如果使用$ M编译器选项启用或(派生自某些类,例如TPersistent)编译,那么类只有typeinfo,但是我并没有认为有类型信息有类型的特殊条件。