我已经声明了以下枚举类型,其中我希望第一个成员的序数值为1(一)而不是通常的0(零):
type
TMyEnum = (
meFirstValue = 1,
meSecondValue,
meThirdValue
);
Run Code Online (Sandbox Code Playgroud)
如果我调用TypeInfo(),例如作为对GetEnumName()的调用的一部分,我得到一个编译器错误:
GetEnumName(TypeInfo(TMyEnum), Ord(aValue));
Run Code Online (Sandbox Code Playgroud)
错误:"E2134:类型'TMyEnum'没有typeinfo"
为什么是这样?
我知道,类只有所属类别,如果它们与编译$ M启用编译器选项,或者(在某些类是,如获得TPersistent,但我不认为有具有所属类别的枚举类型的任何特殊情况).