为什么我的{$ IFDEF DEBUG}条件不适用于Delphi?

mag*_*nus 3 delphi debugging preprocessor conditional-compilation delphi-7

我在Delphi 7项目中有以下代码(IP地址已更改).

const
{$IFNDEF DEBUG}
    AUTHENTICATOR_DB_ADMIN_HOST = '123.456.789.12';
{$ELSE}
    AUTHENTICATOR_DB_ADMIN_HOST = '127.0.0.1';
{$ENDIF}
Run Code Online (Sandbox Code Playgroud)

根据项目选项:

  • 在标题为"条件"的部分下的"目录/条件"选项卡中,我有一个单独的定义:"DEBUG".
  • 在标记为"模块属性"的部分下的"版本信息"选项卡中,我勾选了标记为"调试 - 构建"的复选框.

在上面的代码示例中,未定义"DEBUG"符号,因此将IP地址设置为123.456.789.12而不是127.0.0.1.我究竟做错了什么?

这个问题是继续来自Delphi的条件编译是否允许定义的符号包含值?

ska*_*adt 9

如果您编译项目并且没有更改,并且DCU在最后一次非调试构建的路径上可用,那么将使用它,从而导致此问题.还要确保此单元包含在DPR的使用条款中.

如果您构建项目,它将强制重新编译添加到项目中的所有单元.

我通常编译语法,但总是为测试/部署而构建.