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
Benutzerbild von Uwe Raabe
Uwe Raabe

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

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.431 Beiträge
 
Delphi 12 Athens
 
#2

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
Benutzerbild von himitsu
himitsu
Online

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

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 15:01
Eigentlich wartet WAITFOR auf ein bestimmtes Signal und der Timeout-Parameter ist für einen "vorzeitigen" Abbruch vorhaden.
Wenn das Signal aber vorher/sofort kommt, dann wird natürlich nicht so lange gewartet.

TIMEOUT ist der Befehl zum Warten. (auch wenn man immernoch zu oft den "Hack" mit PING findet)



Ich würde in den Scripten immer ein EXIT machen (oder das ErrorLevel/ExitCode setzen), sowohl bei Fehlern, als auch beim OK mit 0.
(außer beim Event ist eingestellt, dass die Rückgabe nicht behandelt wird)

Im Postbuild soll die Datei (bat) die Signierung durchführen. Jedes Mal beim Ausführen ist die Datei noch in Benutzung!. Deswegen habe ich 5 Sekunden Timeout eingestellt (timeout /T 5).
Wir fummeln im AfterBuild auch an der EXE/DLL/BPL rum und hatten noch nie ein Problem, dass die Datei noch im Zugriff ist (seitens Delphi), auch ohne ein Timeout.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Jan 2025 um 15:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 15:14
Eigentlich wartet WAITFOR auf ein bestimmtes Signal und der Timeout-Parameter ist für einen "vorzeitigen" Abbruch vorhaden.
Wenn das Signal aber vorher/sofort kommt, dann wird natürlich nicht so lange gewartet.
Deswegen schrieb ich ja auch:
auf ein nicht kommendes Signal warten
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 16:02
Bei soeinem allgemeinen Bezeichner, wie "pause", wäre ich mir da nicht 100% sicher, dass er nicht doch mal verwendet werden könnte.

Diesbezüglich stellt TIMEOUT mit /nobreak für mich irgendwie eine sicherere Variante dar.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 16:51
Diesbezüglich stellt TIMEOUT mit /nobreak für mich irgendwie eine sicherere Variante dar.
So wie die IDE den Befehl ausführt, funktioniert das ja eben nicht:
Code:
FEHLER: Die Eingabeumleitung wird nicht unterstützt. Prozess wird unverzüglich beendet.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: PostBuild mit Pause im Batch funktioniert nicht richtig

  Alt 20. Jan 2025, 16:59
Befehle direkt innerhalb der IDE, sowie MSBuild, haben sowieso viele Probleme (vor allem sowas if ERRORLEVEL kann man da vergessen),
aber innerhalb einer Batch sollte es doch gehn?
Ein Therapeut entspricht 1024 Gigapeut.
  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 17:29 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