在Delphi 7中,我是否可以设置“调试”和“发布”模式?

12
在大多数现代集成开发环境中,您可以拥有调试和发布构建配置,并且可以快速切换它们。
但是,在Delphi 7中似乎不可能实现此功能。我必须手动进入项目设置并切换优化和所有调试信息等选项。
如果有一个插件或类似的东西可以为我处理这个问题,那就太好了。
有人知道有这样的工具吗?还有其他建议吗?
编辑:我无法升级到Delphi 2007或2009,因为我们有一个庞大的Delphi 7代码库需要进行转换。虽然理论上这将是最好的解决方案:P
4个回答

15
你可以使用 Andreas Hausladen 的DDevExtensions IDE专家,轻松添加项目配置,类似于其他IDE所提供的功能。只需确保从我提到的链接下载1.6版本,因为后续版本仅适用于Delphi 2009。 1.6版本适用于5至2007年间的任何Delphi版本。该专家会在“项目”菜单下添加一个子菜单,如果一开始找不到,请查看该子菜单。

根据 https://www.idefixpack.de/blog/downloads/,版本 2.4.2 也支持 Delphi 7,而 1.6.1 则是在两者之间创建的。 - AmigoJack

6
我不知道Delphi 7是否有任何构建配置插件,但是你可以模拟它。只需在项目的每个单元中应用一个include文件(这本来就是个好主意),并让它根据一个单一的定义进行调整,像这样:

--- 示例IncludeFile.inc ---

{$IFDEF DEBBUG}

{$OPTIMIZATION OFF}
{$RANGECHECKING ON}
// etc

{$ELSE}

{$OPTIMIZATION ON}
{$RANGECHECKING OFF}

{$ENDIF}

现在,如果您在.dof项目设置中添加DEBUG到编译器定义中,您将获得Debug-build;如果您删除它,则会得到一个发布版本。当然,其他设置也完全可能。

Delphi 2005在项目管理器中嵌入了构建配置(仅Release和Debug),而Delphi 2009则增加了更多功能,例如“选项集”和自定义“配置”(您甚至可以将其标记为所有新项目的默认值)。请看一下,这是一个真正伟大的产品!


我正在使用这些编译器标志(我认为这是正确的术语),以便所有我的文件打印逻辑不包含在生产构建中。谢谢! - LostNomad311
它对我不起作用,我应该修改哪个.dof选项? 符号{$IFDEF DEBUG}在Delphi7中已经定义,但我无法使用它,我应该手动定义吗? - Kachwahed
似乎DEBUG符号在旧版Delphi中不起作用,正如@Deltics在这里所说的:https://dev59.com/q3VC5IYBdhLWcg3w51ry - Kachwahed

2

在Delphi 7中不能直接实现,但您有以下几个选择:

  • 将所有更改(调试、优化等)的编译器指令包装在用户定义的编译器指令内,然后设置一个编译器指令来在调试和发布之间进行切换。
  • 此外,您可以使用FinalBuilder或其他类似的构建工具来创建使用不同设置的构建。
  • Delphi 2005已添加了此功能。因此,升级到Delphi 2007或2009并获得内置功能。它们都是非常稳定的版本,并具有许多新功能。

1

这个功能只在Delphi 2009版中添加。

对于旧版Delphi,您可以编写两份.cfg文件副本,一份包含调试选项,另一份包含发布选项,并通过批处理文件内的dcc32.exe编译程序。

类似于以下内容:

rem release.bat
copy release.cfg myprog.cfg
dcc32 -B myprog.dpr

rem debug.bat
copy debug.cfg myprog.cfg
dcc32 -B myprog.dpr

1
该功能在 Delphi 2007 中添加,并在 Delphi 2009 中得到改进,以便构建配置可以从公共基本配置中“继承”。 - Bruce McGee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接