Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2018, 12:25   #1
Turbine
Пользователь
 
Регистрация: 13.08.2008
Сообщений: 76
Печаль Грабли условной компиляции

Добрый день!
Существует ли способ определить символ со значением отличным от ON/OFF?

Компилятор не ругается на это
Код:
{$DEFINE BITS_=16}
но зато ругается, когда идет попытка определить значение BITS_

При этом версия компилятора определяется как значение

Код:
{$if CompilerVersion > 18} // Delphi 2007 or later {$ifend}
Turbine вне форума Ответить с цитированием
Старый 23.04.2018, 01:35   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,867
По умолчанию

Постарайтесь вразумительно задать вопрос. Например в виде кода. А то пока я вижу вопрос типа "в огороде бузина, в Киеве дядька, а на улице дождь".
northener вне форума Ответить с цитированием
Старый 23.04.2018, 10:13   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

northener, да понятно, что ему нужно.
он хочет задавать в $DEFINE не просто Conditional symbol, а его значение.

Turbine
$DEFINE так не делает (в него такой функционал не заложен):
Цитата:
Conditional symbols work like Boolean variables: they are either defined (True) or undefined (False). Any valid conditional symbol is treated as false until it has been defined.
читать статью полностью - Conditional compilation (Delphi)

А для чего это Вам нужно? Это реально должно влиять на компиляцию кода?

к слову, то, что Вы определили, оно работает.

попробуйте
Код:
Program Test1;
{$APPTYPE CONSOLE}

{$DEFINE BITS_=16}

begin
  {$IFDEF BITS_=16}
          WriteLn('condions: Your define BITS is 16');
  {$ENDIF}
  WriteLn('usial code');
  ReadLn
end.

Последний раз редактировалось Serge_Bliznykov; 23.04.2018 в 10:20.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
директивы условной компиляции Владимрл C# (си шарп) 2 24.05.2016 11:27
Грабли с TThread... FataLL C++ Builder 0 04.03.2013 18:41
MMOFPS: разработка и возможные грабли russian-stalker Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 21.12.2010 21:04
Показательные грабли guz Общие вопросы C/C++ 1 25.11.2010 11:11
использование директив условной компиляции Ferza Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 10 24.06.2009 12:21