![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.03.2009
Сообщений: 375
|
![]()
Привет!
Как выборочно компилировать один код в режиме отладки, а другой код в релизе? Пробовал так, но каждый раз приходится в ручную {$DEFINE DEBUG} убирать для релиза: Код:
Последний раз редактировалось VadEr; 19.08.2011 в 10:29. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
может, конечно, это я такой непонятливый, но я совсем не понял, что у Вас не получается...
если переменная объявлена ($DEFINE), то там, где Вы используете условную компиляцию, компилируется код в веточке $IFDEF Если нужно, чтобы этот код не компилировался то достаточно комментировать $DEFINE Debug - и скомилировать проект.. Что не так? p.s. мне кажется, что такие дефайны удобно вынести в отдельный файл, например, MyDef.inc и во всех модулях, где нужна условная компиляция прописать {$I MyDef.inc} |
![]() |
![]() |
![]() |
#3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Обновить Delphi. В 2007 и выше есть менеджер конфигураций, при сборке debug-версии сам добавляет строку в conditional defines.
В качестве костыля на старых версиях можно проверять опции компилятора, например Код:
пыщь
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 24.03.2009
Сообщений: 375
|
![]()
Да, проблема как раз во том и была, что ($DEFINE) надо в каждом модуле писать, глобально не видит. Поэтому, есть вероятность, что его закоментить где нибудь можно забыть.
Вариант Serge_Bliznykov-а вроде бы решает эту проблему, т.к. комментить теперь только надо в одном месте, но появляется другая. => Код выносится в другой модуль, и понимание логики процедуры "для программиста" затрудняется. Костыль предложенный JTG насколько я понял близок к VStuduo-скому, но не понятно: что такое "D+" и где и как его меняют? Меняется ли эта опция в настройках среды или так же вручную прописать надо где-то {$D+}, а потом видимо "D-"? p.s. IDE: delphi7 |
![]() |
![]() |
![]() |
#5 | |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]() Цитата:
$D+ это галочка "debug information" там же.
пыщь
|
|
![]() |
![]() |
![]() |
#6 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Как вариант:
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> Код выносится в другой модуль, и понимание логики процедуры "для программиста" затрудняется.
в отдельный файл выносится ровно одна строчка: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Митчелл Керман. Программирование и отладка в Delphi | Антон Лысенко | Помощь студентам | 0 | 16.04.2011 17:44 |
Тип-запись(type ... record) в Delphi Pascal; отладка программы | Legky | Помощь студентам | 1 | 22.12.2010 19:13 |
Delphi (отладка) при запуске поля ввода пропадают | djdron | Помощь студентам | 0 | 11.11.2010 21:29 |
Отладка DLL средствами Delphi | mMAg | Помощь студентам | 4 | 25.08.2009 17:54 |
отладка в delphi explorer | Elm0 | Общие вопросы Delphi | 2 | 19.12.2008 11:13 |