可能的重复项:
为什么我收到枚举类型的"类型没有类型信息"错误
我有一个具有如下属性的组件:-
enum class Foo {VAL0, VAL1, VAL2, VAL4 =4};
class TDummy : public TComponent
{
...
Foo f;
TDummy() : f(Foo:VAL2) {};
__published:
__property Foo foo{ read = f, write = f};
}
但是,安装后,IDE 对象 instpector 不会为我提供"foo"选项的下拉列表,而只是显示一个包含值"2"的编辑字段。
如何让 IDE 显示"VAL2"而不是"2",并显示选项 VAL0/VAL1/VAL2 等的下拉列表。/?
这是因为枚举值不是连续的。将枚举声明从
enum class Foo {VAL0, VAL1, VAL2, VAL4 =4};
。自。。。
enum class Foo {VAL0, VAL1, VAL2, VAL3, VAL4};
并且该属性将在对象检查器中正常工作。当然,现在可以选择 VAL3,这并不理想。
Delphi 不支持非连续枚举,因此 RTTI 无法表示一组不连续的值。