![]() |
Batch Datei in PostBuild Ereignis nicht aufgerufen
Hallo,
ich versuche in 11.2 eine Batch Datei die mehrere Kopieren befehle enthält im Post-Build Ereignis aufzurufen. Das klappt aber nicht. Das ist der Aufruf: $(PROJECTDIR)\Reports\CopyReports.bat Auch mit call davor klappt das nicht. Rufe ich die Batch Datei vom Explorer aus auf, tut diese was sie soll. Anfänglich wurde im Meldungs-Panel ein Fehlercode 2 angezeigt, jetzt aber nicht mehr. Der dort angezeigte Pfad ist aber korrekt. Woran kann es liegen? Grüße TurboMagic |
AW: Batch Datei in PostBuild Ereignis nicht aufgerufen
Moin,
Batch-Dateien sind nicht direkt ausführbar, sondern benötigen den Kommandoprozessor cmd.exe. versuche mal, cmd.exe /c voranzustellen: cmd.exe /c "Pfad\zu\Deiner\Datei.bat" |
AW: Batch Datei in PostBuild Ereignis nicht aufgerufen
ähhhhh nein, sie sind aufrufbar.
Wobei es egal sein sollte, ob BAT (der alte DOSsige Name) oder CMD (der etwas "Modernere") nutze auch sowas, seit D10.2 (%root% ist eine eigene Umgebungsvariable in der IDE)
Code:
und besonders besch***eiden ist Delphi darin, dass abweichende LibSuffix nicht im in den Outputnamen enthalten sind, vorallem nicht bei
"$(root)\Build\dproj__compile_postbuild.cmd" "$(Config)" "$(Platform)" "$(OutputExt)" "$(InputDir)$(InputName)" "$(OutputDir)$(OutputName)"
Delphi-Quellcode:
.
{$LIBSUFFIX AUTO}
CALL geht nicht direkt, denn das ist ein Befehl des COMMAND, aber Delphi/MSBuild scheint die Befehle/Zeilen einzeln (CreateProcess/ShellExecuteEx) auszuühren, mit einigen blöden eigenartigen Verhalten, wie z.B. ein IF ERRORLEVEL nach einem Befehl geht nicht, weil jede Zeile bei <>0 sofort zum Abbruch führt. Ja, hatte anfangs auch Probleme, dass ich nichts sah. Hatte mir dann mit
Delphi-Quellcode:
quasi ein Logging eingefügt.
ECHO > xxx
[edit] Warte .... in 11.2 bin ich mir grade nicht sicher, ob es noch geht. Ich dachte ich hatte eine Logausgabe "Text" in den Mendungen. Nee geht. Ein ECHO im Script landet im Ausgabe-Tab der Meldungen. Kann es sein, dass seit 10.4 sich etwas geändert hat? Ich mache zuerst im Script ein
Code:
Im IDE-Log gab es keine Ausgabe der Befehle, aber wenn das Script manuell ausgeführt wurde, dann wollte ich ebenfalls nur die ECHO sehen.
@chcp 1252 > nul
@echo off und dann gefolgt von einem
Delphi-Quellcode:
(ja,
echo ##### %~nx0 "%~1" "%~2" "%~3" "...\%~nx4" "%~5" %~6
Delphi-Quellcode:
sollte auch gehn), damit ich sehe, was genau aufgerufen wird.
echo %0 %*
Nun sehe ich aber im aktuellsten 11.2 gefühlt ein paar neue Zeilen,
Code:
jeweils gefolgt von den entsprechenden cgrc- und dcc-Aufrufen, sowie dem Inhalt meiner Batch, also mein Script mit aufgelösten Parametern, gefolgt von meinen ECHOs aus'm Script.
BuildProjectResourceFile-Ziel:
_PasCoreCompile-Ziel: PostBuildEvent-Ziel: |
AW: Batch Datei in PostBuild Ereignis nicht aufgerufen
Moin,
was passiert, wenn man z.B. eine Test.cmd-Datei mit dem Inhalt echo HALLO AUS TEST.CMD irgendwo abspeichert, z.B. unter D:\test.cmd (zuerst würde ich einen Pfad ausprobieren, der keine Leerzeichen hat) und für Post-Build-Event erstmal den genauen Pfad eingibt? call D:\Test.cmd In diesem Fall würde ich nach dem Build den Text "HALLO AUS TEST.CMD" im Reiter Output erwarten. Wenn das funktioniert, dann würde ich die Pfade richtig anschauen. Wenn nicht, dann könnte es an der neue Version von Delphi liegen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz