Коды возврата командной строки IDE Delphi 5
-
05-07-2019 - |
Вопрос
Я пытаюсь автоматизировать некоторые устаревшие сборки 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 для неудачных сборок.
В настоящее время мой проект завершается с ошибкой (видно в файле журнала), но мой пакетный файл выполняется как ПРОХОД.
[Неустранимая ошибка] MyFile.pas(43):Файл не найден:"aa.dcu" - "aa.dcu"
Это ошибка в Delphi 5, или я что-то упускаю?
Полный текст справки IDE для опции -B на delphi32.exe:
Автоматическая сборка.Должен использоваться с параметром filename (имя файла).Если указано, проект или группа проектов создается автоматически при запуске IDE.Любой подсказки, ошибки или предупреждения затем сохраняются в файл.Затем IDE завершает работу.Это облегчает выполнение сборок в пакетном режиме режим из пакетного файла.Ошибка Уровень устанавливается равным 0 для успешных сборок и 1 для неудачных сборок.По по умолчанию выходной файл имеет то же имя, что и имя файла, указанное с помощью расширение файла изменено на .err.Это может быть переопределено с помощью о параметр
Решение
Единственная справка относится к компилятору командной строки dcc32.exe а не к IDE.
Замена delphi32.exe на dcc32.exe должна решить вашу проблему.