当我在代码中使用Delphi指令,比如:
{$IFDEF something}
.
.
.
{$ENDIF}
我应该在项目中的哪里分配词汇 "something"?我尝试过在一些项目选项中,但没有起作用。我猜我没有找到正确的位置。
当我在代码中使用Delphi指令,比如:
{$IFDEF something}
.
.
.
{$ENDIF}
我应该在项目中的哪里分配词汇 "something"?我尝试过在一些项目选项中,但没有起作用。我猜我没有找到正确的位置。
在 D2010 中,这在项目 | 选项下的 条件定义 插槽中,看起来像这样:
其他答案已经指出了定义符号的位置以及不同方法的作用域影响。
但是,还没有人提到,如果您更改DEFINE符号,则必须对项目进行完整构建,才能使它们对您的代码产生任何影响。
当您“编译”Delphi编译器时,只会编译自上次编译以来发生更改的单元。如果您更改DEFINE符号,则不会更改任何项目单元,因此如果这些单元未重新编译,则DEFINE符号的更改将在这些单元中没有任何影响。
为了强制应用DEFINE符号的更改到所有单元中,您必须进行“构建”,而不是“编译”。
这可能解释了为什么您之前尝试设置定义符号似乎没有起作用。
{$DEFINE Symbol}
{$IFDEF Symbol}
{$DEFINE AnotherSymbol}
{$ENDIF}
在Delphi模块中,需要检查符号是否被定义,请将以下代码放在接口部分:
interface
{$I Predefines.inc}
uses ...
// Check you defines
{$IFDEF Symbol}
...
{$ENDIF}