Почему {$ifopt FINITEFLOAT ON} не компилируется?

У меня есть конструкция:

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

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

E1030 Неверная директива компилятора: '$IFOPT'

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

Я что-то упустил здесь?


person rossmcm    schedule 31.08.2010    source источник


Ответы (2)


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

Изменить: есть Билет Quality Central для этого.

Изменить: для этого есть Quality Portal.

person Uli Gerhardt    schedule 31.08.2010
comment
Только что нашел это: docwiki.embarcadero.com/RADStudio/ en/ (URL-адрес в кавычках, поскольку S/O не анализирует URL-адрес должным образом, если он заканчивается на )). И я вижу QC. Невероятный. Значит, я не могу сообщить о состоянии параметра компилятора, который не имеет сокращенной формы? - person rossmcm; 01.09.2010
comment
В сторону. Нашел свое сообщение в поиске Google менее чем через 15 минут после его отправки. Вот это быстро. - person rossmcm; 01.09.2010

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

person Free Consulting    schedule 13.11.2010