![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определение глобального символа условной компиляции
kami © (2006-01-12 14:55:00)Есть 2 проекта, использующие один общий модуль. В зависимости от того, в какой проект он включается, в модуле должен быть разный код. Пока приходится менять вручную в самом модуле
{$define prog1}на{$define prog2}. Как можно определить (допустим) в главном юните каждой программы символ условной компиляции, видимый в общем модуле, чтобы можно было делать"Project=>Build All Projects"?
Плохиш (2006-01-12 16:37:00) [1]Вставь {$DEFINE PROG1} в первую строку файла prog1.dpr
kami (2006-01-12 15:38:00) [2]kami © (12.01.06 15:30) [5]
Add-on:
Конечно, сам опять виноват - нужно было сделать общий TCustomMyClass, и потом уже в каждой программе наследоваться от него. Но - я понял это слишком поздно, уже гораздо проще делать так :-))
<риторический вопрос>И когда я научусь думать о удобстве расширения функционала без больших переделок?</риторический вопрос>
kami (2006-01-12 15:30:00) [3]MBo © (12.01.06 15:08) [1]
В том то и дело, что модуль должен быть один, так как в нем куча общего кода (к тому же, он еще в разработке), меняется только несколько процедур в зависимости от проекта. Если я сделаю 2 модуля, то запутаюсь с тем, в каком модуле более новый код (уже неоднократно за собой замечал такое, и повторять не хочу).
evvcom © (12.01.06 15:08) [2]
Точно !!!!
Спасибо большое !
Rouse_ (2006-01-12 15:19:00) [4]А блин, не про то вопрос :)
Rouse_ (2006-01-12 15:18:00) [5]
{$DEFINE PROG1}
{$IFDEF PROG1}
{$UNDEF PROG1}
{$DEFINE PROG2}
{$ENDIF}
MBo (2006-01-12 15:08:00) [6]В каждом проекте сделай модулёк с одинаковым именем, содержащий нужный дефайн
evvcom (2006-01-12 15:08:00) [7]Project -> Options... -> Directories/Conditionals -> Conditional Defines