2010-08-31 1 views
7

Я имею конструкцию:

{$ifopt FINITEFLOAT ON} 
    {$message 'FINITEFLOAT option ON' } 
{$else } 
    {$message 'FINITEFLOAT option OFF' } 
{$endif } 

в моем источнике, и он не компилируется! Это должно быть что-то глупое. Ошибка:

E1030 директива Invalid составитель: «$ IFOPT»

на первой линии, но это FINITEFLOAT он жалуется. Кажется, вы не можете указать ничего, кроме однобуквенных директив, таких как R + и т. Д. В качестве аргумента IFOPT.

Я что-то упустил?

ответ

5

Вы полностью правы AFAICT. Я не часто использую $IFOPT, но каждый раз I do это поведение меня раздражает. Я понятия не имею, почему это реализовано таким образом.

Редактировать: Есть Quality Central issue for this.

+0

Просто нашел это: «Http: // docwiki .embarcadero.com/RADStudio/ru/X1030_Invalid_compiler_directive _-_ '% 25s' _ (Delphi) "(цитируемый URL-адрес, поскольку S/O неправильно анализирует URL-адрес, если он заканчивается символом") "). И я вижу КК. Невероятно. Поэтому я не могу сообщить о состоянии параметра компилятора, который не имеет сокращенной формы? – rossmcm

+0

Кроме. Нашел мое сообщение в поиске Google менее 15 минут после его отправки. Теперь это быстро. – rossmcm

1

Правда, вы не можете :(Это потому, что IFOPT рассматривать как обратную функцию совместимости и не работает с любыми протяженных директивами, например:. {$A2} может быть установлен, но не извлекается обратно

Смежные вопросы