2016-02-29 58 views
1

我在一个项目组中工作,项目组由3个具有公共单位的项目组成。多项目条件编译德尔福

在项目1,我写项目中的源:

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

然后,在型动物单位代码我写:

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

在项目2,i。在项目源写

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

第一个项目代码从来没有编译过(它只是忽略)。但是,如果我把{$ DEFINE FIRSTPROJET}放在同一个单元中,那么它工作...(在Delphi2009中)。

如何传播我的编译指令抛出所有使用的文件?只取决于我想要编译哪个项目...

回答

1

$DEFINE指令对它们所在的单元是局部的。如果将它们放在项目源文件,.dpr文件中,则它们仅适用于该.dpr文件。

您需要通过使用Project Options dialog将条件定义添加到您的每个项目中。

+0

它正常工作。 – ffert2907

+1

或将它们放入包含每个单元/程序的.INC中 –