AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Batch Datei in PostBuild Ereignis nicht aufgerufen
Thema durchsuchen
Ansicht
Themen-Optionen

Batch Datei in PostBuild Ereignis nicht aufgerufen

Ein Thema von TurboMagic · begonnen am 1. Dez 2022 · letzter Beitrag vom 2. Dez 2022
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#1

Batch Datei in PostBuild Ereignis nicht aufgerufen

  Alt 1. Dez 2022, 20:01
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
  Mit Zitat antworten Zitat
Achim Kalwa

Registriert seit: 2. Apr 2005
Ort: Lienen
110 Beiträge
 
Delphi 12 Athens
 
#2

AW: Batch Datei in PostBuild Ereignis nicht aufgerufen

  Alt 1. Dez 2022, 20:48
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"
Achim
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.088 Beiträge
 
Delphi 12 Athens
 
#3

AW: Batch Datei in PostBuild Ereignis nicht aufgerufen

  Alt 2. Dez 2022, 09:15
ä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:
"$(root)\Build\dproj__compile_postbuild.cmd" "$(Config)" "$(Platform)" "$(OutputExt)" "$(InputDir)$(InputName)" "$(OutputDir)$(OutputName)"
und besonders besch***eiden ist Delphi darin, dass abweichende LibSuffix nicht im in den Outputnamen enthalten sind, vorallem nicht bei {$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 ECHO > xxx quasi ein Logging eingefügt.

[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:
@chcp 1252 > nul
@echo off
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.
und dann gefolgt von einem echo ##### %~nx0 "%~1" "%~2" "%~3" "...\%~nx4" "%~5" %~6 (ja, echo %0 %* sollte auch gehn), damit ich sehe, was genau aufgerufen wird.

Nun sehe ich aber im aktuellsten 11.2 gefühlt ein paar neue Zeilen,
Code:
BuildProjectResourceFile-Ziel:
_PasCoreCompile-Ziel:
PostBuildEvent-Ziel:
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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 2. Dez 2022 um 10:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von PaPaNi
PaPaNi

Registriert seit: 31. Mär 2022
47 Beiträge
 
#4

AW: Batch Datei in PostBuild Ereignis nicht aufgerufen

  Alt 2. Dez 2022, 10:13
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz