我正在使用Delphi XE2和madExcept。我希望在构建完成后运行一个进程,包括在构建过程结束时发生的madExcept。
将我的批处理文件放在post-build events
中会导致我的批处理文件在madExcept内容完成之前运行。我想也许我可以使用DOS start
命令生成一个分离的进程,该命令会暂停几秒钟以便构建完成,然后暂停的进程可以执行其任务。我尝试了以下作为post-build命令:
start "" cmd /c "timeout /t 5&RunPostBuild.bat"
但是,Delphi不打开单独的窗口并继续构建过程,而是打开一个窗口,等待5秒钟,运行RunPostBuild.bat
然后完成构建过程。结果是一样的; 之前RunPostBuild.bat
仍在运行。。。
有没有人知道如何在构建过程的结束中自动运行流程,包括madExcept的东西?
答案 0 :(得分:2)
如果您可以禁用madExcept在IDE中执行的后处理,则可以通过运行madExceptPatch.exe将其添加为构建后操作的一部分。 The madExcept FAQ建议使用-gd标志。
答案 1 :(得分:0)
似乎没有办法从IDE单独执行此操作。但是,如果您创建一个要运行一次的计划任务,请删除触发器(因此只保留任务时没有计划何时运行),然后您可以向post-build events
添加命令以按需运行任务。即使任务尚未完成,Delphi也会立即返回并完成构建过程。
通过在计划任务运行的批处理文件的开头放置timeout /t 5
,IDE完成构建时将经过5秒,然后批处理文件中的其余命令将执行。
要添加到post-build events
的命令是:
schtasks /run /tn "Name of scheduled task"
它非常可靠。