Einzelnen Beitrag anzeigen

Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Alle subThreads beenden beim programm beenden

  Alt 30. Jan 2004, 10:10
Hallo Trifid,

Zitat von trifid:
Verwendest Du das TThread-Objekt (D5 u. D7) - da ist bei Terminierung ein Bug enthalten
ja, ich verwende das TThread-Objekt, kannst Du mir bitte sagen, wo der Bug ist?



@Trifid, @Luckie,

Ich habe obiges Posting "aus dem Bauch heraus" geschrieben, nachdem ich
um 2.00 Uhr früh in meine Fa. musste, und mir eine Wartezeit mit der DP verkürzte
-da war ich mir auch nicht sicher, ich beschrieb nur meine Erfahrungen
die ich mit Threads hatte.

Nun ließ mir das keine Ruhe und ich begann nachzulesen:

Andreas Kosch schreibt in "Delphi Win32 Lösungen" (Seite 298) folgendes:

Zitat von Delphi Win32 Lösungen:
[..]Aus diesem Grund muss jedes Handle über den Aufruf von CloseHandle
so früh wie möglich freigegeben werden. Dabei bedeutet das Freigeben des Handles nicht,
dass auch das Threadobjekt zerstört wird. Solange der Thread seine Aufgaben
noch nicht erledigt hat, führt das Schließen des Handles nicht zum Freigeben des Threadobjektes.

[..]
Win32 schließt alle Objekthandle selbstständig, wenn der zugrundeliegende Prozess terminiert.
Wichtig ist in dem Fall, dass eine Freigabe des Handles nicht automatisch das Threadobjekt zerstört,
und zwar unabhängig davon ob der Thread mit dem TThread Objekt oder durch die WinAPI erzeugt wurde.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat