Domanda

Sto tentando di automatizzare alcune build precedenti di Delphi 5 con uno script MSBuild e sto riscontrando problemi nell'acquisizione degli errori. Pensando che ci fosse qualche problema con il passaggio di MSBuild, ho anche provato un file batch e sto ancora ricevendo back pass (0) quando la compilazione dovrebbe fallire (1). % 2 è il percorso di delphi e% 3 è il nome del progetto.

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

Secondo la guida in linea:

  

Il livello di errore è impostato su 0 per   build riuscite e 1 per fallito   costruisce.

Attualmente il mio progetto ha esito negativo (visibile nel file di registro) ma il mio file batch viene eseguito come PASS.

  

[Errore irreversibile] MyFile.pas (43): File non trovato: 'aa.dcu'

È un bug in Delphi 5 o mi manca qualcosa?


Testo guida IDE completo per l'opzione -B su delphi32.exe:

  

AutoBuild. Deve essere usato con   opzione nome file. Se specificato, il   progetto o gruppo di progetto è stato creato   automaticamente all'avvio dell'IDE. Qualunque   suggerimenti, errori o avvisi sono quindi   salvato in un file. Quindi l'IDE esce.   Questo facilita l'esecuzione di build in batch   modalità da un file batch. L'errore   Il livello è impostato su 0 per successo   build e 1 per build fallite. Di   impostazione predefinita, il file di output ha lo stesso   nome come il nome file specificato con   l'estensione del file è cambiata in .err.   Questo può essere ignorato usando o   l'opzione

È stato utile?

Soluzione

L'unica guida si riferisce al compilatore della riga di comando dcc32.exe e non all'IDE.

La sostituzione di delphi32.exe con dcc32.exe dovrebbe risolvere il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top