1

我正在使用 Delphi XE2 和 madExcept。我想在构建完成后运行一个进程,包括在构建过程结束时发生的 madExcept 东西。

将我的批处理文件放入post-build events导致我的批处理文件在 madExcept 内容完成之前运行。我想也许我可以使用 DOSstart命令生成一个分离的进程,该命令会暂停几秒钟,以便构建可以完成,然后暂停的进程可以执行其任务。我尝试了以下作为构建后命令:

start "" cmd /c "timeout /t 5&RunPostBuild.bat"

然而,Delphi 并没有打开一个单独的窗口并继续构建过程,而是打开一个窗口,等待 5 秒,运行RunPostBuild.bat,然后完成构建过程。结果是一样的; 在madExcept 做它的事情之前RunPostBuild.bat仍然运行。

有谁知道如何在构建过程结束时真正自动运行一个进程,包括 madExcept 的东西?

4

2 回答 2

2

如果您可以禁用 madExcept 在 IDE 中执行的后期处理,则可以通过运行 madExceptPatch.exe 将其添加为后期构建操作的一部分。madExcept FAQ建议使用 -gd 标志。

于 2013-11-02T06:51:27.023 回答
0

似乎没有办法单独从 IDE 中做到这一点。但是,如果您创建要运行一次的计划任务,请删除触发器(因此仅保留任务而没有计划何时运行),然后您可以向其中添加命令以post-build events按需运行任务。即使任务尚未完成,Delphi 也会立即返回并完成构建过程。

timeout /t 5通过在计划任务运行的批处理文件的开头放置一个,在 IDE 完成构建时将经过 5 秒,然后将执行批处理文件中的剩余命令。

要添加的命令post-build events是:

schtasks /run /tn "Name of scheduled task"

它工作非常可靠。

于 2013-11-02T04:01:21.650 回答