Вопрос

Я пытаюсь автоматизировать некоторые устаревшие сборки 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 должна решить вашу проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top