Einzelnen Beitrag anzeigen

TomDooley

Registriert seit: 26. Jan 2004
124 Beiträge
 
#1

trotz WaitFor wird nicht gewartet bis Thread beendet ist

  Alt 4. Jul 2006, 13:12
Hallo

Ich möchte in meinem Hauptthread warten bis mein Hilfsthread beendet ist. Alles funktioniert ohne Probleme solange ich meine blockierende "Aufräume-Funktion" Close im Hilfsthread nicht aufrufe:

Delphi-Quellcode:
begin
  Hilfsthread.Terminate;
  Hilfsthread.WaitFor;
  //alles andere freigeben
end;

procedure Hilfsthread.Execute;
begin
  while not Terminated do
  begin
    //...
  end;
  Close; //Aufräumen; ohne diese blockierende Funktion die etwas länger dauert funktioniert alles!
end;
Es scheint als ob WaitFor nicht die Geduld hat bis Close auch beendet ist. In diesem Fall kommt es zu einer AV-Exception. Wenn ich Close auskommeniere funktioniert alles normal...

Soll ich anstelle von WaitFor besser WaitForSingleObject verwenden?

Danke und Gruss

Tom
  Mit Zitat antworten Zitat