我声明了以下枚举类型,我希望第一个成员的序数值为1而不是通常的0:
type
TMyEnum = (
meFirstValue = 1,
meSecondValue,
meThirdValue
);
如果我调用 TypeInfo(),例如作为对 GetEnumName() 的调用的一部分,我会收到编译器错误:
GetEnumName(TypeInfo(TMyEnum), Ord(aValue));
错误: "E2134: 类型'TMyEnum'没有 typeinfo"
为什么会出现这个错误?
我知道只有在启用 $M 编译器选项或派生自某些已经启用该选项的类(例如 TPersistent)的情况下,才会在类中有 typeinfo。但是我认为枚举类型没有任何特殊条件以获得 typeinfo。