Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Prozess bei laufenden Thread beenden

  Alt 22. Aug 2023, 20:24
Ja, ein Prozess wird beendet, wenn irgendein Thread mit einer Exception bis zum Windows durch rauscht.

Darum hat TThread auch intern ein Try-Except um das Execute, siehe ThreadProc in System.Classes.
Über Thread.FatalException kommt man im OnTerminate, DoTerminate oder im Destroy (vor Inherited) da dran.


Ebenso hat die VCL deswegen um die meisten Events/Ereignisse ein Try-Except drumrum.
(nur bei Konsolenanwendungen, muß man es selber machen, aber darum enthält deren Codevorlage auch ein Try-Except)




Davon ausgehen: Nein, ähhh ja

Der Prozess wird geschlossen, wenn alle Threads beendet sind,
aber der Delphi-Hauptthread ruft am Ende ein Delphi-Referenz durchsuchenHalt aka MSDN-Library durchsuchenTerminateProcess auf und schießt ALLES brutal ab.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (22. Aug 2023 um 20:30 Uhr)
  Mit Zitat antworten Zitat