![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Условная компиляция [D5, WinXP]
anbezr © (2003-02-10 10:13:00)Привет!
в код компопнента вклячены несколько отладочных строк; в окончательной программе их быть не должно. хотелось бы использовать директивы условной компиляции.
{$DEFINE DEBUGMODE}
{$IFDEF DEBUGMODE}
SavetoFile("");
{$ENDIF}
но в справке написано, что DEFINE работает только в пределах одного файла. что я должен использовать, чтобы иметь возможность пользоваться условной компиляцией.
Calm (2003-02-10 11:20:00) [1]anbezr, а чем тебя не устроили ответы на этот же твойвопрос здесь?
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1044693242&n=0
anbezr (2003-02-10 11:19:00) [2]при добавлении в Projects/Options/Directories/conditionals дельфя не перекомпилировала проект - по этому и не работало
Reindeer Moss Eater (2003-02-10 10:57:00) [3]Во всех модулях проекта, нуждающихся в условной компиляции:
{$I MyDefines.Inc}
В MyDefines.Inc:
{$DEFINE DEBUGMODE}
han_malign (2003-02-10 10:48:00) [4]{$IFOPT D+} {$ENDIF} - блок включается при включенной отладке
dcc32 -DDEBUGMODE progect1.dpr - определяет символ для всех файлов проекта
Project Options->Directories/Conditionals->Conditionals->Conditional defines: DEBUGMODE;...
- определяет символы для всех файлов проекта
anbezr (2003-02-10 10:46:00) [5]я это упустил из виду. если речь идет о Projects/Options/Directories/conditionals, то все равно не работает.
Anatoly Podgoretsky (2003-02-10 10:31:00) [6]Так ты бы и задавал вопрост так.
Для этого есть возможность задания констант условной компиляции в среде.
anbezr (2003-02-10 10:28:00) [7]так нет - не работает. сам сначала думал что так сработает. кроме того, {$DEFINE C1} можно заменить на const C1 = true. но так тоже не работает? или я чего-то недопонимаю...
anbezr (2003-02-10 10:24:00) [8]так я и использую. всё прекрасно работает, но только в том случае, если {$DEFINE ...} я вставлю в каждом файле, в котором есть {$IFDEF ...}. это не удобно и можно ч-л забыть убрать при установке ококнчательного варианта программы. нельзя ли задавать {$DEFINE ...} не более чем в одном месте кода.
uw (2003-02-10 10:24:00) [9]В отдельном модуле определить DEBUGMODE и включить этот модуль во все остальные в разделе uses.
Anatoly Podgoretsky (2003-02-10 10:15:00) [10]Ты должен использовать {$IFDEF