2013-11-02 4 views
1

Я использую Delphi XE2 и madExcept. Я хочу запустить процесс после завершения сборки, включая материал madExcept, который происходит в конце процесса сборки.Запуск процесса после сборки после полной сборки завершен

Ввод моего пакетного файла в post-build events приводит к тому, что мой пакетный файл запускается до завершения работы madExcept. Я подумал, что, возможно, я мог бы создать отдельный процесс, используя команду DOS start, которая приостановится на несколько секунд, чтобы сборка завершилась, а затем приостановленный процесс может выполнять свои задачи. Я попытался следующие, как команда после сборки:

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

Однако, вместо того, чтобы открыть отдельное окно и продолжить процесс сборки, Delphi открывает окно, ждет 5 секунд, запускается RunPostBuild.bat, а затем завершает процесс сборки , Результат тот же; RunPostBuild.bat все еще работает до madExcept делает свои вещи.

Кто-нибудь знает, как действительно запустить процесс автоматически на конце процесса сборки, включая материал madExcept?

ответ

2

Если вы можете отключить пост-обработку, которую делает madExcept в среде IDE, вы можете добавить это как часть операций после сборки, запустив madExceptPatch.exe. The madExcept FAQ предлагает использовать флаг -gd.

+1

Именно так я занимаюсь проблемой. На самом деле у меня нет пакетов madExcept, установленных на всех, и просто делайте простой makexceptpatch в моей пост-сборке. –

+0

Мне нравится это решение намного лучше. Спасибо, парни! –

0

Кажется, что нет способа сделать это только из IDE. Однако, если вы создаете запланированную задачу для запуска один раз, удалите триггер (так что задача остается без расписания запуска), тогда вы можете добавить команду в post-build events для выполнения задачи по требованию. Delphi немедленно вернется и завершит процесс сборки, даже если задача еще не завершена.

Поместив timeout /t 5 в начале командного файла, запустившего запланированное задание, пройдет 5 секунд, пока IDE завершит сборку, а остальные команды в пакетном файле будут выполнены.

Команда, чтобы добавить к post-build events является:

schtasks /run /tn "Name of scheduled task" 

Он работает очень надежно.

Смежные вопросы