Einzelnen Beitrag anzeigen

WorstNightmare

Registriert seit: 6. Okt 2008
159 Beiträge
 
RAD-Studio 2010 Arc
 
#1

Thread weiß nicht, dass er terminiert wurde?!

  Alt 30. Mär 2010, 18:15
Hallo,

ich habe mal wieder ein Thread Problem

Damit mein Programm nicht hängt, während eingefügte Links auf ihre Gültigkeit überprüft werden, wird ein Thread gestartet, welcher diese Aufgabe übernimmt.
Seine Funktion an sich erfüllt der Thread sehr gut, allerdings lässt er sich nicht mehr stoppen sobald er am Werk ist :/

Ich versuche so den Thread zu stoppen:
Delphi-Quellcode:
LinkAdder.Terminate;
LinkAdder.WaitFor;
FreeAndNil(LinkAdder);
In der Hauptfunktion des Threads, die durch Execute() aufgerufen wird, läuft eine for-Schleife und bei jedem Link überprüfe ich, ob Terminated wurde. Das Problem ist, dass obwohl von außen Terminate aufgerufen wurde, ist Terminated im Thread, wenn ich es mir ausgeben lasse, noch False. Daher stoppt er nicht.

Weiß jemand woran das liegt und wie man es lösen könnte?
  Mit Zitat antworten Zitat