Sowas wie OnClose?
-
Hallo,
gibt es ein Ereignis das ausgeführt wird, wenn das Programm per Taskmanager geschlossen wird? (Prozess beenden)
-
Soweit ich weis "OnDestroy", aber ob das beim Taskmanager auch funktioniert könnte man eigentlich testen~
-
Hallo
was gefällt dir an TForm::OnClose nicht? Da bei VCL-Anwendungen das MainForm immer offen sein muß, wird zwingend bei jedem schließen das OnClose des MainForms aufgerufen.
Besser wäre natürlich noch der Destruktor von dem MainForm. Oder gleich in die Datei <Projectname>.cpp mit der Main-Funktion, gleich nach Application->Run();/Edit : OnDestroy ist schlecht, besser gleich den Destruktor nehmen.
Auch der Taskmanager bemüht sicherst, das Programm mit einer QUIT-Message sich selber beenden zu lassen, und dabei wird auch alles übliche aufgerufen. Nur wenn das Programm nicht reagiert, warum auch immer wird es einfach abgeschossen.bis bald
akari
-
Ich habe es, bevor ich das thema geöffne habe, schon getestet mit OnClose und OnDestroy. Hat beides nicht geklappt.
Bitte beachtet in meinem ersten Post: "Prozesse beenden".
Wenn man unter "Anwendung" den "Task beendet" geht es. Aber nicht bei "Prozess beenden" unter "Prozesse"
-
Ich glaub auch nicht, das es bei "Prozess beenden" eine Möglichkeit gibt, darauf reagieren zu können, denn das ist die GANZ HARTE METHODE von Windows, eine Prozess "abzuschiessen".
Damit können ja auch Prozesse beendet werden, die überhaupt nicht mehr reagieren (z.B. ein blockierter Thread).
-
Hmm...naja gibt es denn dann eine möglichkeit ein Programm nicht in den Prozessen anzeigen zu lassen?
Es gibt ja einige Programme bei denen es so ist.
-
Evtl. hilft es hier einen eigenen Signalhandler einzubauen der das Signal SIGTERM abfängt und ggf. weiterleitet. Siehe BCB-Hilfe zu signal()
-
Uff soweit bin ich leider noch nicht

-
Hi,
der BCB schafft das auch irgendwie.
Hier kann man das frisch compilierte Programm, aus dem BCB heraus gnadenlos beenden.
Bei meinem Programm wird in diesem Fall nicht gefragt, ob ich speichern will, wie sonst üblich.
Frag mich aber bitte nicht, wie der BCB das schafft.Grüsse