2016-02-29 3 views
1

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

в проекте 1, я писал в источнике проекта:

program Project1; 
{$DEFINE FIRSTPROJECT} 
uses 
    ..... 

в проекте 2, я писал в источнике проекта:

program Project2; 
{$DEFINE SECONDPROJECT} 
uses 
    ..... 

Затем в коде Differents единиц я писал:

... 
{$IFDEF FIRSTPROJECT} 
do this 
{$ELSE} 
do that 
{$ENDIF} 
... 

Первый код проекта никогда не компилируется (это просто игнорируется). Но если я поместил {$ DEFINE FIRSTPROJET} в ту же единицу, тогда он работает ... (в Delphi2009).

Как я могу распространить мою директиву компиляции, бросил весь файл? Просто в зависимости от того, какой проект я хочу скомпилировать ...

ответ

1

$DEFINE Директивы являются локальными для устройства, в котором они определены. Если вы поместите их в исходный файл проекта, файл .dpr, то они применяются только в этом .dpr-файле.

Необходимо добавить условные определения к каждому из ваших проектов, используя Project Options dialog.

+0

Это нормально работает. – ffert2907

+1

Или поместите их в .INC, чтобы включить каждый модуль/программу –

Смежные вопросы