Einzelnen Beitrag anzeigen

Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

Thead beenden bringt Fehler, was mache ich falsch?

  Alt 21. Apr 2009, 15:13
Servus,

wenn ich einen Thread erstelle sieht das so aus
Delphi-Quellcode:
  result := TMyThread.Create(id);
  //...
  fThreads.Add(result);
die execute
Delphi-Quellcode:
begin
  inherited;
  while not terminated do begin
    mach_was;
    sleep(5000);
  end;
end;
löschen
Delphi-Quellcode:
var
  myThread : TmyThread;
  i : integer;
begin
  for i:=0 to fThreads.Count-1 do
  begin
    myThread := TmyThread(fThreads.Items[i]);
    myThread.FreeOnTerminate := true;
    myThread.Terminate;
  end;
  fThreads.clear; //<- fehler
und bei clear kommt der fehler
".... Das Handle ist ungültig(6). Process wurde angehalten..."

Was mache ich falsch?

Mfg
  Mit Zitat antworten Zitat