Коды возврата командной строки Delphi 5 IDE - PullRequest
1 голос
/ 26 ноября 2009

Я пытаюсь автоматизировать некоторые устаревшие сборки Delphi 5 с помощью скрипта MSBuild, и у меня возникают проблемы с обнаружением ошибок. Подумав, что возникла некоторая проблема с передачей MSBuild, я также попробовал пакетный файл и все еще получаю обратные проходы (0), когда сборка не удалась (1). % 2 - это путь к delphi, а% 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 для неудачных строит.

В настоящее время мой проект не выполняется (отображается в файле журнала), но мой командный файл работает как PASS.

[Фатальная ошибка] MyFile.pas (43): файл не найден: 'aa.dcu'

Это ошибка в Delphi 5, или я что-то упустил?


Полный текст справки IDE для опции -B на delphi32.exe:

AutoBuild. Должен использоваться с опция имени файла. Когда указано, проект или проектная группа построена автоматически при запуске IDE. любой подсказки, ошибки или предупреждения сохранен в файл. Затем IDE выходит. Это облегчает сборку в пакетном режиме режим из командного файла. Ошибка Уровень установлен на 0 для успешного сборок и 1 для неудачных сборок. От по умолчанию выходной файл имеет тот же имя в качестве имени файла, указанного с расширение файла изменено на .err. Это может быть отменено с помощью Опция

1 Ответ

6 голосов
/ 26 ноября 2009

Единственная справка касается компилятора командной строки dcc32.exe, а не IDE.

Замена delphi32.exe на dcc32.exe должна решить вашу проблему.

...