Delphi допускает неопределенные атрибуты - PullRequest
0 голосов
/ 24 мая 2018

У меня есть некоторые перечисления, которые я хочу пометить определенным атрибутом, чтобы я мог обработать перечисления в RTTI.Например:

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

Однако атрибут VbEnumAttribute объявлен в другом модуле, и если я забуду включить этот модуль, программа все равно скомпилирует, но атрибут [VbEnumAttribute] не определен, и RTTI не сообщит об этом (то есть два перечисленных выше перечисления не имеют связанных с ними атрибутов)

Есть ли способ указать Delphi сообщить об этом как об ошибке?Я не уверен, почему Delphi допускает неопределенные атрибуты, когда RTTI не сообщает о них.

1 Ответ

0 голосов
/ 24 мая 2018

Такой код по умолчанию выдаст предупреждение компилятора:

W1025 Неподдерживаемая языковая функция: «настраиваемый атрибут»

Если этого недостаточно для вас,в опциях компилятора вы можете указать, что W1025 будет рассматриваться как ошибка.

...