Delphi - Как использовать более определенные значения в условной компиляции - PullRequest
10 голосов
/ 22 июля 2011

Могу ли я объединить несколько IFDEFS в моем источнике?

Например:

{$IFDEF INCOMING or OUTGOING}
...
{$ENDIF}

Спасибо за помощь: dd

Ответы [ 4 ]

17 голосов
/ 22 июля 2011

Используйте $IF с Defined() вместо $IFDEF:

{$IF Defined(INCOMING) or Defined(OUTGOING)}
...
{$IFEND}
12 голосов
/ 22 июля 2011

Альтернатива, для более старых версий:

{$IFDEF INCOMING}
  {$DEFINE INCOMING_OR_OUTGOING}
{$ENDIF}
{$IFDEF OUTGOING}
  {$DEFINE INCOMING_OR_OUTGOING}
{$ENDIF}

{$IFDEF INCOMING_OR_OUTGOING}
...
{$ENDIF}
3 голосов
/ 22 июля 2011

Я не верю, что $ IFDEF поддерживает это, но $ IF поддерживает. http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/compdirsifdirective_xml.html

0 голосов
/ 12 мая 2013

Вот вариант ответа Дэвида с использованием «не».

Я использую это, когда хочу отключить заставку на моих приложениях в режиме отладки. Это предотвращает случайное отключение заставки, если я забуду отменить определение NOSPLASH в сборке релиза.

  {$IF not (Defined(NOSPLASH) AND Defined(DEBUG))}
     //code to create splash 
  {$IFEND} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...