Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

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

AW: mehrere Threads sauber beenden

  Alt 10. Jan 2011, 10:24
Danke für deine Mühe...

Delphi-Quellcode:
for i:= ThreadList.count -1 downto 0 do
  begin
   (ThreadList[i] as TTestThread).terminate;
   while not (ThreadList[i] as TTestThread).Terminated do
   begin
   sleep(200);
   end;
   ThreadList.Delete(i);
 end;
aus dieser Schleife kommst du nicht mehr raus, da die Threads einfach stehen. Da kannst du Terminate setzen wie du willst. Terminated wird nie True, weil die Threads nicht arbeiten. Sprich Threadlist.Count bleibt immer das gleiche. Würden die Threads ganz normal weiterlaufen würde dein Konstrukt funktionieren.
  Mit Zitat antworten Zitat