Delphi XE生成事件。。全球地?

Delphi XE生成事件。。全球地?,delphi,events,build,delphi-xe,Delphi,Events,Build,Delphi Xe,开始大量使用XE中的build events系统,但我注意到,我无法在默认项目设置中设置默认的build events。是否有任何解决方法/黑客/任何可能的方法?我正在查看bin目录中的CodeGear.Group.Targets和CodeGear.Delphi.Targets,如果这是可行的,那是我应该查看的地方吗 谢谢啊哈。回答了我自己的问题。(某处有删除按钮吗?哈哈) 我做了一些实验,添加了一些易于查找的构建前和构建后事件(即启动注册表编辑器和记事本…) 在Delphi的bin目录中有一个

开始大量使用XE中的build events系统,但我注意到,我无法在默认项目设置中设置默认的build events。是否有任何解决方法/黑客/任何可能的方法?我正在查看bin目录中的CodeGear.Group.Targets和CodeGear.Delphi.Targets,如果这是可行的,那是我应该查看的地方吗


谢谢

啊哈。回答了我自己的问题。(某处有删除按钮吗?哈哈)

我做了一些实验,添加了一些易于查找的构建前和构建后事件(即启动注册表编辑器和记事本…)

在Delphi的bin目录中有一个名为CodeGear.Delphi.Targets的文件。在这里面,在导入部分之后,我添加了:

<PropertyGroup>
     <PreBuildEvent><![CDATA[regedit.exe]]></PreBuildEvent>
     <PostBuildEvent><![CDATA[notepad.exe $(MSBuildProjectFile)]]></PostBuildEvent>
</PropertyGroup>


重新启动IDE,一个新的空项目在构建前和构建后执行这些程序。请注意,它们不会显示在项目配置屏幕上,但是您可以覆盖它们,否定CodeGear.Delphi.Targets文件中的任何内容。价格便宜,但它似乎起到了作用,如果特定项目需要,您仍然可以覆盖它。(当然要确保备份原始文件。)

@Jen Smith:非常聪明。如果有人感兴趣,我现在已经用你的想法发疯了,除了作为命令行构建的一部分修补二进制exe,而不必定制特定项目

将其放在CodeGear.Delphi.Targets.的“导入”部分之后

  <PropertyGroup>
    <PostBuildEvent><![CDATA["$(programFilesx86)\madCollection\madExcept\Tools\madExceptPatch.exe" "$(DCC_ExeOutput)$(MSBuildProjectName).exe" "$(MSBuildProjectDirectory)\$(MSBuildProjectName).mes"]]></PostBuildEvent>
  </PropertyGroup>


+1。我也非常喜欢这个。每次我构建某个东西时,我都需要一个.bat来执行。现在我必须把这个脚本添加到每个新项目中,这很烦人。欢迎来到StackOverflow,Jen。很高兴看到你第一次能提出一个好问题并给出一个好答案谢谢:)我断断续续地玩了几天,当然我问了半个小时后就想出来了,哈哈。。希望Embarcadero在其下一个版本的IDE中实现类似的功能,而不必依赖于一堆乱七八糟的东西!到目前为止,我只问了一个问题,然后自己回答了!但是把这些问题留着,这样别人就能找到你的答案。