2013-11-02 4 views
1

저는 Delphi XE2 및 madExcept를 사용하고 있습니다. 빌드 프로세스가 끝나면 빌드 프로세스가 끝날 때 발생하는 madExcept 작업을 포함하여 프로세스를 실행하고 싶습니다.빌드 완료 후 빌드 완료 후 실행 완료

내 배치 파일을 post-build events에 넣으면 madExcept 작업이 완료되기 전에 배치 파일이 실행됩니다. DOS명령을 사용하여 분리 된 프로세스를 생성 할 수 있다고 생각하여 빌드가 끝날 수 있도록 몇 초간 일시 중지 한 다음 일시 중지 된 프로세스가 해당 작업을 수행 할 수 있도록했습니다. 나는 빌드 후 명령으로 다음과 같은 시도 : 대신 별도의 창을 열고 빌드 프로세스를 지속적으로, 그러나

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

, 델파이, 창을 여는 5 초 대기, RunPostBuild.bat를 실행 한 후 빌드 프로세스를 완료 . 결과는 동일합니다. RunPostBuild.bat은 여전히 ​​을 실행하기 전에 madExcept이 처리합니다.

누군가가 빌드 프로세스의 (madExcept 물건 포함)에서 프로세스를 자동으로 실행하는 방법을 알고 있습니까?

답변

2

madExcept가 IDE에서 수행하는 사후 처리를 비활성화 할 수 있다면 madExceptPatch.exe를 실행하여 사후 구축 작업의 일부로이를 추가 할 수 있습니다. The madExcept FAQ은 -gd 플래그를 사용하는 것이 좋습니다.

+1

이것은 정확하게 문제를 처리하는 방법입니다. 사실 madExcept 패키지는 전혀 설치되지 않았으며 단지 내 게시물 빌드에 일반 madexceptpatch를 수행합니다. –

+0

나는이 솔루션을 훨씬 더 좋아한다. 고마워요! –

0

IDE만으로는 그렇게 할 방법이없는 것처럼 보입니다. 그러나 예약 된 작업을 한 번 실행하려면 트리거를 삭제하십시오 (작업이 실행될 일정이 없으므로 post-build events에 명령을 추가하여 필요시 작업을 실행할 수 있습니다). Delphi는 작업이 아직 완료되지 않은 경우에도 즉시 빌드 프로세스를 반환하고 완료합니다.

예약 된 작업이 실행되는 배치 파일의 시작 부분에 timeout /t 5을 삽입하면 IDE에서 빌드가 완료되는 동안 5 초가 경과 한 다음 배치 파일의 나머지 명령이 실행됩니다. post-build events에 추가 할

명령은 다음과 같습니다 그것은 매우 안정적으로 작동

schtasks /run /tn "Name of scheduled task" 

.