Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Условное компилирование модулей


SpellCaster ©   (2008-03-17 19:59:00) 

Возможна ли управлять компилированием модулей через DEFINE-ы в главном модуле, который их подключает? Есть сильное подозрение, что DEFINE распространяется исключительно на свой модуль, но, может, я ошибаюсь?
P.S. Т.е. хочется иметь нечто вроде Сишных инклюдов, в которые не компилилась бы лишняя шняга.


SpellCaster   (2008-03-18 10:50:00) [1]

Ага, я подозревал это... а опции проекта можно как-то менять из исходных файлов? В файле *.bdsproj есть раздел Conditionals, но он пуст... где ж они хранят этот дефайн?
Фишка с общим инклюдом не подходит, т.к. хочу сделать один модуль на несколько проектов, и в каждом иметь возможность компилить по-своему. Есть еще одна идея - в каждом проекте делать отдельный файл MyUnit.pas такого вида:

{$DEFINE stuff}
{$I ..\MyUnit.pas} // это полноценный модуль


Германн   (2008-03-18 02:30:00) [2]


> SpellCaster   (17.03.08 19:59)
>
> Возможна ли управлять компилированием модулей через DEFINE-
> ы в главном модуле, который их подключает? Есть сильное
> подозрение, что DEFINE распространяется исключительно на
> свой модуль, но, может, я ошибаюсь?
> P.S. Т.е. хочется иметь нечто вроде Сишных инклюдов, в которые
> не компилилась бы лишняя шняга.
>

Либо через "опции проекта", как сказано в Семеныч   (17.03.08 20:40) [1], либо через дополнительный файл, в котором перечислены нужные DEFINE, и которые добавляются при необходимости в любой файл/модуль директивой {$I
Кстати, в старом добром ТП так т делали.


Семеныч   (2008-03-17 20:40:00) [3]

> Есть сильное подозрение, что DEFINE распространяется исключительно на
> свой модуль

Если условие написано в самом модуле - то да. Но если его задать в опциях проекта, то оно будет действовать на весь проект.


Наверх

Титульная страница Поиск, карта сайта Написать письмо