【发布时间】:2019-09-18 03:29:49
【问题描述】:
我已经声明了以下枚举类型,我希望第一个成员的序数值为 1(一)而不是通常的 0(零):
type
TMyEnum = (
meFirstValue = 1,
meSecondValue,
meThirdValue
);
如果我调用 TypeInfo(),例如作为调用 GetEnumName() 的一部分,我收到编译器错误:
GetEnumName(TypeInfo(TMyEnum), Ord(aValue));
错误:“E2134:类型 'TMyEnum' 没有类型信息”
这是为什么?
我知道类只有在启用 $M 编译器选项的情况下编译或(从某个类派生,例如 TPersistent)才具有类型信息,但我认为枚举类型的 typeinfo 没有任何特殊条件。
【问题讨论】:
标签: delphi enums rtti typeinfo