Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.313 Beiträge
 
Delphi 12 Athens
 
#16

AW: mehrere Threads sauber beenden

  Alt 10. Jan 2011, 12:16
macht keinen Unterschied...

Kommando zurück:
Beitrag 14 ist Quatsch.
- in der Schleife stand to statt downto
- Das FThreadList.Delete[1] stand außerhalb der Schleife.
Fazit: Das war wirklich eine Endlosschleife.

mal ein Auszug aus dem Ereignisprotokoll:
Delphi-Quellcode:
Thread-Start: Thread-ID: 292. Prozess XWebDemo.exe (6096) // normaler Threadstart
Thread-Start: Thread-ID: 5992. Prozess XWebDemo.exe (6096)// normaler Threadstart
Thread-Start: Thread-ID: 2520. Prozess XWebDemo.exe (6096)// normaler Threadstart
Thread-Ende: Thread-ID: 292. Prozess XWebDemo.exe (6096)// normales Ende
Thread-Ende: Thread-ID: 5992. Prozess XWebDemo.exe (6096)// normales Ende
Thread-Ende: Thread-ID: 2520. Prozess XWebDemo.exe (6096)// normales Ende
Thread-Start: Thread-ID: 5596. Prozess XWebDemo.exe (6096)// normaler Start
Thread-Start: Thread-ID: 5072. Prozess XWebDemo.exe (6096)// normaler Start
Thread-Start: Thread-ID: 5056. Prozess XWebDemo.exe (6096)// normaler Start --> Beenden geklickt
Quelltexthaltepunkt bei $005DF477: D:\Projekte\Delphi Unicode\XWeb500\DemoThreadVersion_1\XWebBase.pas Zeile 115. Prozess XWebDemo.exe (6096)
// while not (FThreadList.Count = 0) do
// siehe TXWeb.Destroy
// Schleife wird durchlaufen bis Liste leer...
// die Threads stehen, sonst wären sie schon fertig
Modul entladen: Security.dll. Prozess XWebDemo.exe (6096)
Modul entladen: WSHTCPIP.dll. Prozess XWebDemo.exe (6096)
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EIdSocketError mit Meldung
'Socket Error # 10093 // Indy Meldung
'.
Prozess XWebDemo.exe (6096)
Erste Gelegenheit für Exception bei $7C812AFB. Exception-Klasse EIdSocketError mit Meldung
'Socket Error # 10093 // Indy Meldung
'.
Prozess XWebDemo.exe (6096)
Modul entladen: HNetCfg.dll. Prozess XWebDemo.exe (6096)
Thread-Ende: Thread-ID: 5072. Prozess XWebDemo.exe (6096) // erst hier werden die Threads beendet
Thread-Ende: Thread-ID: 5596. Prozess XWebDemo.exe (6096)
Thread-Ende: Thread-ID: 5056. Prozess XWebDemo.exe (6096)

Geändert von haentschman (10. Jan 2011 um 12:40 Uhr)
  Mit Zitat antworten Zitat