Delphi允许未定义的属性

时间:2018-05-24 11:30:26

标签: delphi delphi-2010

我有一些枚举,我想用特定属性标记,以便我可以在RTTI中处理枚举。像这样:

Type
  [VbEnumAttribute]
  TFieldDataType        = (Numeric, Alphanumeric);
  [VbEnumAttribute]
  TLengthUnits          = (Characters, Bytes);

但是,属性VbEnumAttribute在另一个单元中声明,如果我忘记包含此单元,程序仍然编译,但属性[VbEnumAttribute]未定义且RTTI不会报告它(即上面的两个枚举没有关联的属性和他们一起)

有没有办法指示Delphi将此报告为错误?我不确定为什么Delphi在RTTI没有报告时允许未定义的属性。

1 个答案:

答案 0 :(得分:3)

默认情况下,此类代码会生成编译器警告:

  

W1025不支持的语言功能:'自定义属性'

如果这还不够,您可以在编译器选项中指定将W1025视为错误。