Delphi 2007(或2009)生成事件与生成配置关联?
是否可以在Delphi 2007中仅为特定的生成配置添加生成事件 我用的是2007年,但我也对你在2009年能做些什么感兴趣 干杯 萨姆没有 您可以在Delphi 2009中为每个构建配置设置(资源)编译器设置。但这不适用于其他设置 你可以假装,但这需要一些时间:Delphi 2007(或2009)生成事件与生成配置关联?,delphi,delphi-2007,Delphi,Delphi 2007,是否可以在Delphi 2007中仅为特定的生成配置添加生成事件 我用的是2007年,但我也对你在2009年能做些什么感兴趣 干杯 萨姆没有 您可以在Delphi 2009中为每个构建配置设置(资源)编译器设置。但这不适用于其他设置 你可以假装,但这需要一些时间: 在预构建中,删除conf*.dcu文件 为调试配置定义调试 将以下内容添加到项目文件中: 代码: 现在,让生成后步骤检查confDebug.dcu或confRelease.dcu是否存在,以找到使用的生成配置 这有点麻烦,但你可以做你
echo $(DEFINES) | find "RELEASE"> nul
if not errorlevel 1 goto
release
echo $(DEFINES) | find "DEBUG" > nul
if not errorlevel 1 goto debug
goto end
:release
echo Processing RELEASE Build:
...
goto end
:debug
echo Processing DEBUG Build:
..
goto end
:end
试试这个:
if $(Config) == Release do_something
您可以在使用XE时找到一些附加信息,如果您感兴趣,我将其缩小为更简单的内容:
goto $(Config)
:Release
compil32 /cc f:\dev\MyProject\Installer\MyProject.iss"
etc.
:Debug
只有当我将构建配置设置为Release时,它才会构建我的安装程序。如果你想变得更时尚,你可以打电话给詹金斯,让它接管发布前的任务。在Delphi10.x中,您不再需要这个技巧。简短回答:“不”。更长的回答:“是的。”——)解决方案和黑客之间是有区别的。但也许我是个挑剔的人;-)。谢谢你,野猫。这不是一个好的解决方案,我很惊讶delphi不支持基于联合配置的不同构建事件,但非常感谢您提供的信息。@samhowley,codegear正忙于处理borland“注意力不足”时期的积压工作。我希望这样的功能在将来的版本中得到修复。(他们的计划是修复大约100个小的暂停)。这是可行的,比第一个被接受的解决方案容易得多。请注意,它应该在一行上显示“if not errorlevel 1 goto release”,但除此之外,它的工作方式与广告中的一样。嗯,在XE2中无法实现这一点:我总是得到“Command[…]exited with code 1.”并且没有一个块被执行。我可以看到
$(DEFINES)
宏得到了很好的扩展,不过。。。
goto $(Config)
:Release
compil32 /cc f:\dev\MyProject\Installer\MyProject.iss"
etc.
:Debug