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だけからそれを行う方法はないようです。ただし、1 回実行するようにスケジュールされたタスクを作成する場合は、トリガーを削除して (そのため、いつ実行するかのスケジュールがなく、タスクだけが残ります)、コマンドを に追加してpost-build events、タスクをオンデマンドで実行できます。タスクがまだ完了していなくても、Delphi はすぐに戻り、ビルド プロセスを終了します。

スケジュールされたタスクが実行されるバッチ ファイルの先頭に atimeout /t 5を配置すると、IDE がビルドを終了するまでに 5 秒が経過し、その後バッチ ファイル内の残りのコマンドが実行されます。

に追加するコマンドpost-build eventsは次のとおりです。

schtasks /run /tn "Name of scheduled task"

それは非常に確実に機能します。

于 2013-11-02T04:01:21.650 に答える