![]() |
Programm soll merken, dass es beim Debuggen geschlossen wird
Hallo zusammen,
nachdem ich etliche Male die Suche mit verschiedenen Begriffen gequält habe, sind mir dann die Ideen ausgegangen, nach was ich zu diesem Problem noch suchen könnte. Ich will das Problem mal kurz beschreiben: Ich bin am debuggen meines Programmes. Bei Programmende sollen noch einige Aktionen ausgeführt werden, z.B. serielle Schnittstellen sauber schliessen, vorher einige Befehle an die angeschlossenen Geräte schicken, usw. Wenn ich auf das "Kreuzchen" oder den "Schliessen"-Button oder <ALT>+<F4>drücke, wird Form.Close ausgeführt und alles ist gut. Wenn ich das Programm jedoch mit <STRG>+<F2> oder mit "Programm zurücksetzen" im IDE-Menu beende, wird Form.Close und auch Form.Destroy nicht aufgerufen. Es ist aber wichtig, dass die an der seriellen Schnittstelle angeschlossenen Geräte immer sauber getrennt werden. Wie kann ich das schaffen, dass mein Programm auch beim Beenden im Debugger noch einige Aktionen ausführt? gruessle |
Re: Programm soll merken, dass es beim Debuggen geschlossen
ich glaube gar nicht, da das Programm (der Prozess) dann hart gekillt wird.
|
Re: Programm soll merken, dass es beim Debuggen geschlossen
Das wäre dann aber nicht schön. :-(
Und es wird keine Message mehr geschickt? Oder sonst irgendwie benachrichtigt? |
Re: Programm soll merken, dass es beim Debuggen geschlossen
nen, es wird rein gar nix mehr gesendet. Es ist mindestens genau so schlimm als würdest du ein programm über den Taskmanager hart beenden (Prozess beenden)
|
Re: Programm soll merken, dass es beim Debuggen geschlossen
Ich schätze du hast da wenig Chancen.
Es gäbe eine -zwar Umständliche aber wenigstens überhaupt eine- Lösung: Du schriebst ein Programm was Di Eigentliche Schnittstellen Kommunikation ausführt und steuerst das dann per deinem eigentlichen Programm und falls dein Hauptprogramm nicht mehr da sein sollte oder so dann beendet das andere Programm die Verbindungen und schließt sich dann auch . Dann könnte man das immer vom Hauptprogramm aus ausführen.... Leuchtende Grüße Stefan alias Light |
Re: Programm soll merken, dass es beim Debuggen geschlossen
Zitat:
Was passiert mit den Geräten wenn sowas passiert? Stehen diese "im Wald"? Was ist wenn physikalisch die Verbindung getrennt wird. Da kannst du auch kein "saubere" Trennung durchführen. |
Re: Programm soll merken, dass es beim Debuggen geschlossen
Zitat:
Ich muss halt ein Init machen, das verhältnismässig viel Zeit in Anspruch nimmt. Das Init könnte ich mir dann sparen. Gewohnheitsmässig drückt man halt <STRG><F2>, wenn das Ergebnis beim Debuggen nicht so ist wie erwartet. Wenn man's dann gedrückt hat, könnte man sich in den Arsch beissen. ;-) |
Re: Programm soll merken, dass es beim Debuggen geschlossen
Ich denke es wird nur die Variante von Light übrig bleiben.
|
Re: Programm soll merken, dass es beim Debuggen geschlossen
Geht nicht.
Ich bin ja schon froh, wenn Delphi sich nach Beenden im Debugger nicht aufhängt. Passiert mir regelmäßig im Zusammenhang mit einem Com-Server. Delphi lässt sich auch ohne Speicherschutzverletzung nicht mehr schließen. In ein von drei Fällen muß ich dann den Rechner neu starten. Setze doch das Programm fort und baue irgendwo einen Abbruchschalter ein, welcher das Programm terminiert. Gruß Peter |
Re: Programm soll merken, dass es beim Debuggen geschlossen
Zitat:
Aber nicht immer denke ich daran, dass ich diesen auch drücken muss. Manchmal bleibt das Programm auch sonst wo hängen und ich erreiche den Button garnicht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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