문제

MSBuild 스크립트로 일부 레거시 Delphi 5 빌드를 자동화하려고 시도하고 있으며 오류를 캡처하는 데 어려움이 있습니다. MSBuild 통과와 관련하여 문제가 있다고 생각하면서 배치 파일을 시도했지만 빌드가 실패 할 때 여전히 패스 (0)를 받고 있습니다 (1). %2는 델파이의 경로이고 %3은 프로젝트 이름입니다.

REM delphi_ide_build.bat
@ECHO OFF
"%1 %2\Bin\delphi32.exe" %3.dpr -b

REM BCB5 returns 0 if build succeeds, 1 if build fails
IF ERRORLEVEL 1 GOTO FAIL
IF ERRORLEVEL 0 GOTO PASS

:FAIL
ECHO An Error Occured in Build - Showing Log
ECHO ---------------------------------------
type %3.err
EXIT 1

:PASS
ECHO The Build Passed - Showing Log
ECHO ------------------------------
type %3.err
EXIT 0

온라인 도움말에 따르면 :

성공적인 빌드의 경우 오류 레벨이 0으로 설정되고 빌드가 실패한 경우 1입니다.

현재 내 프로젝트가 실패하지만 (로그 파일에 표시) 배치 파일은 패스로 실행됩니다.

치명적인 오류] myfile.pas (43) : 파일 찾기 : 'aa.dcu'

이것은 델파이 5의 버그입니까, 아니면 내가 뭔가를 놓치고 있습니까?


delphi32.exe에서 옵션 -B에 대한 전체 IDE 도움말 텍스트 :

오버 빌드. 파일 이름 옵션과 함께 사용해야합니다. 지정되면 프로젝트 또는 프로젝트 그룹은 IDE가 시작될 때 자동으로 구축됩니다. 힌트, 오류 또는 경고는 파일에 저장됩니다. 그런 다음 IDE가 종료됩니다. 이것은 배치 파일에서 배치 모드로 빌드를 수행 할 수 있습니다. 성공적인 빌드의 경우 오류 레벨이 0으로 설정되고 빌드가 실패한 경우 1입니다. 기본적으로 출력 파일은 파일 확장자가 .err로 변경된 파일 이름과 동일한 이름을 갖습니다. O 옵션을 사용하여 재정의 할 수 있습니다

도움이 되었습니까?

해결책

유일한 도움말은 IDE가 아닌 명령 줄 컴파일러 DCC32.exe를 나타냅니다.

dcc32.exe로 delphi32.exe를 교체하면 문제를 해결해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top