|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.11.2009, 13:20 | #1 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Условная компиляция
Есть крупный проект (множество юнитов).
Мне необходимо в одном месте определить {$DEFINE DEMO}, а далее везде, где нужно, в программе использовать условную компиляцию, типа {$IFDEF DEMO}...{$ENDIF} или {$IFDEF DEMO}...{$ELSE}...{$ENDIF} Так вот, как сделать DEMO глобальным, т.е. что бы он был виден из всех юнитов? А то препроцессор видит его только в текущем модуле, а прописывать {$DEFINE DEMO} во всех модулях программы как-то глупо и неудобно. E-Mail: arigato.freelance@gmail.com
|
09.11.2009, 14:54 | #2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Project > Options... Закладка Directories/Conditionals, поле "Conditional defines". В котором и надо ввести символ (DEMO, например.)
Впрочем, это только для Delphi. |
09.11.2009, 17:45 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,551
|
Скандербег
Да я пытался сделать так, прежде, чем тут спросить. Но не работает (Делфи 6). Прописал туда: DEMO В программе пишу: {$IFDEF DEMO}showmessage('demo');{$ENDIF} Не срабатывает. P.S. Что-то я ступил, и правда, работает. Спасибо Понятно. Если прописываешь туда DEMO, но не вносишь изменения в программу, то она не перекомпилируется и запускается старый exe'шник. Странный глюк Делфи (видимо, это в старой 6-рки). E-Mail: arigato.freelance@gmail.com
Последний раз редактировалось Arigato; 09.11.2009 в 17:50. |
09.11.2009, 17:51 | #4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
А в семерке все нормально работает...
Может, пора перейти хотя бы на семерку ? З.Ы. Я уже сколько раз говорил, что шестерка - самая глюкавая из всех версий. Давно, когда она вышла, мы все на фирме ее себе поставили, но очень скоро вернулись к пятерке - она хоть и не очень стабильная, зато менее глюкавая... Последний раз редактировалось mihali4; 09.11.2009 в 17:56. |
09.11.2009, 17:56 | #5 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 09.11.2009 в 20:19. |
|
09.11.2009, 18:20 | #6 | |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Цитата:
После изменений в условиях компиляции не забывайте Project>Build. А 6 или 7 - это все равно. Глюков в этой части ни там, ни там не наблюдалось. Последний раз редактировалось Скандербег; 09.11.2009 в 18:22. |
|
11.09.2010, 01:54 | #7 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Поднимаю данную тему, ибо столкнулся с такой же проблемой как и у Arigato...и действительно - это то ли баг Делфи вобще (ибо стоит 2010), то ли что-то не понятое...
Будь проще и люди к тебе потянутся
|
11.09.2010, 07:10 | #8 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
spamer, Arigato озвучил две проблемы. какая из них беспокоит?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Условная операция DEV C+++ | edmynt | Помощь студентам | 1 | 11.10.2009 15:40 |
компиляция | DarK_NighT | Общие вопросы Delphi | 1 | 25.03.2009 13:18 |
компиляция | Рамик | Помощь студентам | 6 | 14.03.2009 16:07 |
Компиляция в Qt | Diman2008 | Qt и кроссплатформенное программирование С/С++ | 6 | 16.11.2008 20:57 |
Компиляция. | Бро | Общие вопросы C/C++ | 2 | 03.06.2008 06:46 |