AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE PostBuild mit Pause im Batch funktioniert nicht richtig
Thema durchsuchen
Ansicht
Themen-Optionen

PostBuild mit Pause im Batch funktioniert nicht richtig

Ein Thema von haentschman · begonnen am 10. Jan 2025 · letzter Beitrag vom 20. Jan 2025
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#1

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 10:56
Also in Deinem PostBuild-Ereignis steht als Aufruf <Pfad>\Release.bat?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.441 Beiträge
 
Delphi 12 Athens
 
#2

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 10:59
Zitat:
Also in Deinem PostBuild-Ereignis steht als Aufruf <Pfad>\Release.bat?
ja...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#3

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 10:59
Dann hab ich gerade leider auch keine Idee.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.441 Beiträge
 
Delphi 12 Athens
 
#4

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 11:00
Danke
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.698 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 11:09
Wenn in einem Build Event mehrere Batchdateien aufgerufen werden sollen, muss man sie mit call aufrufen, sonst wird nur die erste ausgeführt. Liegt's evtl. daran?
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.441 Beiträge
 
Delphi 12 Athens
 
#6

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 11:11
Zitat:
Liegt's evtl. daran?
1. es ist nur eine BAT im PostBuild
2. es werden alle Zeilen der BAT ausgeführt...nur nicht "timeout"

PS: Es gab auch Momente, wo das PostBuild direkt komplett fehlerfrei durchlief. Ist aber gaaanz selten.


Nachtrag:
Beim Erzeugen des Bildes der Fehlermeldung ist mir aufgefallen:
1. Der Fehler tritt nur auf wenn die Zieldatei NICHT existiert.
2. Wenn ich normal erzeuge, mit Ziel vorhanden, wird die Batch fehlerfrei ausgeführt.

...das erklärt aber nicht die Frage mit dem TimeOut. Es sollte 5 Sekunden gewartet werden, aber die Signierung startet sofort.
Angehängte Grafiken
Dateityp: png Error.PNG (16,1 KB, 17x aufgerufen)

Geändert von haentschman (10. Jan 2025 um 11:23 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.559 Beiträge
 
Delphi 7 Professional
 
#7

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 11:20
Mal 'ne abgewandelte Version der Batch:

Code:
@echo %date% %time%>%temp%Error.log

timeout /T 5 /nobreak >>%temp%Error.log

if errorlevel 1 (
    echo Fehler beim Aufruf von TimeOut.>>%temp%Error.log
    exit /b 1
)

if not exist "E:\Projects\Projects_Delphi\Tools\Tasks\_out\app\Release\Task.exe" (
    echo Task.exe nicht gefunden.>>%temp%Error.log
    exit /b 1
)

E:\Projects\Projects_Delphi\Certificate\Tools\signtool.exe sign /v /s "Certificate Store" /n "Signierung" /fd SHA256 "E:\Projects\Projects_Delphi\Tools\Tasks\_out\app\Release\Task.exe"
if errorlevel 1 (
    echo Signierung fehlgeschlagen.>>%temp%Error.log
    exit /b 1
)

E:\Projects\Projects_Delphi\Certificate\Tools\signtool.exe verify /pa /v "E:\Projects\Projects_Delphi\Tools\Tasks\_out\app\Release\Task.exe"
if errorlevel 1 (
    echo Verifizierung fehlgeschlagen.>>%temp%Error.log
    exit /b 1
)

echo Signierung und Verifizierung erfolgreich abgeschlossen.>>%temp%Error.log
Was steht in der Error.log im Tempverzeichnis?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.687 Beiträge
 
Delphi 12 Athens
 
#8

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 15:51
Schau mal in das Ausgabe-Log der IDE nach dem Build. Dort müsste beim timeout Befehl folgende Fehlermeldung erscheinen:
Code:
FEHLER: Die Eingabeumleitung wird nicht unterstützt. Prozess wird unverzüglich beendet.
Wenn es nicht darauf ankommt, dass die IDE auf das Signieren wartet, dann kannst du im Build-Event diesen Befehl eintragen:
Code:
start cmd /C <Pfad>\Release.bat
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.687 Beiträge
 
Delphi 12 Athens
 
#9

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 10. Jan 2025, 16:32
Wenn es nicht darauf ankommt, dass die IDE auf das Signieren wartet
Wenn es doch drauf ankommen sollte, kannst du auch den WaitFor-Befehl missbrauchen und auf ein nicht kommendes Signal warten:
Code:
waitfor /T 5 pause > nul
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.441 Beiträge
 
Delphi 12 Athens
 
#10

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 14:26
Was lange währt wird gut.
Code:
waitfor /T 5 pause > nul
...jetzt wird anstandslos gewartet und die Signierung läuft durch.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 20:00 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