Pergunta

Eu estou tentando automatizar algumas legado Delphi 5 constrói com um script MSBuild e estou tendo erros de captura de problemas. Pensando que havia algum problema com o passar MSBuild, eu também tentei um arquivo de lote e ainda estou recebendo passes costas (0) quando a compilação deve falhar (1). % 2 é o caminho para Delphi e% 3 é o nome do projeto.

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

De acordo com a ajuda on-line:

O erro Level for definido como 0 para sucesso constrói e 1 para falha constrói.

Atualmente o meu projeto falhar (visível no arquivo de log), mas minhas corridas de arquivo de lote como um passe.

[Erro Fatal] MyFile.pas (43): Arquivo não encontrado: 'aa.dcu'

Este é um bug no Delphi 5, ou estou faltando alguma coisa?


IDE completa o texto de ajuda para a opção -B em delphi32.exe:

AutoBuild. Deve ser usado com o opção filename. Quando especificado, o projecto ou grupo de projeto é construído automaticamente quando o IDE é iniciado. Qualquer dicas, erros ou avisos são, em seguida, salvos em um arquivo. Em seguida, o IDE sai. Isso facilita fazendo compilações em lote Modo de um arquivo batch. O erro Nível é definido como 0 para o sucesso constrói e 1 para não constrói. De padrão, o arquivo de saída tem a mesma nomear como o nome do ficheiro especificado com a extensão do arquivo alterada para .err. Isso pode ser substituído usando o o opção

Foi útil?

Solução

A única ajuda refere-se à linha de comando DCC32.exe compilador e não o IDE.

Substituir a delphi32.exe por DCC32.exe deve resolver o seu problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top