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