Einzelnen Beitrag anzeigen

fajac

Registriert seit: 1. Jul 2009
60 Beiträge
 
#3

Re: AThread.WaitFor gibt Fehler "Das Thread Handle ist

  Alt 23. Okt 2009, 12:19
Wenn FreeOnTerminate gesetzt ist, geht WaitFor schlicht nicht.
Folgendes Szenario:

Delphi-Quellcode:
  // Im MainThread:
  ThreadInstance.Terminate;
  // -> Threadwechsel
  // ThreadInstance terminiert und verschwindet aus dem Speicher
  // -> Threadwechsel zum MainThread
  ThreadInstance.WaitFor; // ThreadInstance hat noch einen Wert, ist aber ungültig -> Exception
Also: Wenn du unbedingt auf den Thread warten musst, dann geht das nur wenn du ihn hinterher selbst freigibst.
  Mit Zitat antworten Zitat