【发布时间】:2009-11-26 20:34:16
【问题描述】:
我正在尝试使用 MSBuild 脚本自动化一些旧版 Delphi 5 构建,但在捕获错误时遇到了麻烦。考虑到 MSBuild 传递存在一些问题,我还尝试了一个批处理文件,并且当构建失败 (1) 时仍然收到回传 (0)。 %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 中的错误,还是我遗漏了什么?
delphi32.exe 上选项 -B 的完整 IDE 帮助文本:
自动构建。必须与 文件名选项。指定时, 项目或项目组已建成 IDE 启动时自动执行。任何 然后是提示、错误或警告 保存到文件中。然后 IDE 退出。 这有助于批量构建 批处理文件中的模式。错误 级别设置为 0 表示成功 构建和 1 用于失败的构建。经过 默认情况下,输出文件具有相同的 名称作为指定的文件名 文件扩展名更改为 .err。 这可以使用 o 覆盖 选项
【问题讨论】:
标签: delphi batch-file delphi-5