Question

J'essaie d'automatiser certaines versions héritées de Delphi 5 avec un script MSBuild et je ne parviens pas à capturer les erreurs. Pensant qu’il y avait un problème avec le passage de MSBuild, j’ai aussi essayé un fichier de commandes et je reçois toujours des passes (0) lorsque la construction doit échouer (1). % 2 est le chemin d'accès à Delphi et% 3 le nom du projet.

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

Selon l'aide en ligne:

  

Le niveau d'erreur est défini sur 0 pour   builds réussis et 1 pour échoué   construit.

Actuellement, mon projet échoue (visible dans le fichier journal) mais mon fichier de commandes est exécuté en tant que PASS.

  

[Erreur fatale] MonFichier.pas (43): Fichier non trouvé: 'aa.dcu'

S'agit-il d'un bogue dans Delphi 5 ou manque-t-il quelque chose?

Texte d'aide complet de l'IDE pour l'option -B sur delphi32.exe:

  

Auto-construction. Doit être utilisé avec   option de nom de fichier. Lorsque spécifié, le   projet ou groupe de projet est construit   automatiquement au démarrage de l'EDI. Tout   des astuces, des erreurs ou des avertissements sont alors   enregistré dans un fichier. Ensuite, l'IDE quitte.   Cela facilite la construction par lots   mode à partir d'un fichier batch. L'erreur   Le niveau est mis à 0 pour réussir   builds et 1 pour les builds échoués. Par   Par défaut, le fichier de sortie a le même   nom comme nom de fichier spécifié avec   L'extension du fichier a été remplacée par .err.   Ceci peut être annulé en utilisant le o   option

Était-ce utile?

La solution

La seule aide concerne le compilateur en ligne de commande dcc32.exe et non l'IDE.

Le remplacement du fichier delphi32.exe par dcc32.exe devrait résoudre votre problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top