我有一些枚举,我想用特定属性标记,以便我可以在RTTI中处理枚举。像这样:
Type
[VbEnumAttribute]
TFieldDataType = (Numeric, Alphanumeric);
[VbEnumAttribute]
TLengthUnits = (Characters, Bytes);
但是,属性VbEnumAttribute在另一个单元中声明,如果我忘记包含此单元,程序仍然编译,但属性[VbEnumAttribute]未定义且RTTI不会报告它(即上面的两个枚举没有关联的属性和他们一起)
有没有办法指示Delphi将此报告为错误?我不确定为什么Delphi在RTTI没有报告时允许未定义的属性。
答案 0 :(得分:3)
默认情况下,此类代码会生成编译器警告:
W1025不支持的语言功能:'自定义属性'
如果这还不够,您可以在编译器选项中指定将W1025视为错误。