Einzelnen Beitrag anzeigen

GreenHorn3600

Registriert seit: 24. Jun 2007
165 Beiträge
 
#1

OnTerminate wird nicht ausgeführt

  Alt 15. Aug 2009, 13:52
Hallo Wissende,

ich kämpfe grad mit Threads. Dabei versuche ich auf das Ende eines Threads zu reagieren, nur, das Ereignis wird nie ausgeführt. Weiss einer warum und was man hier machen muß damit es funktioniert? Danke schon mal.

Hier der Start des threads:
Delphi-Quellcode:
procedure TWUSUpdatesCheck.Run;
begin
  if fTempFileName = 'then CreateTempFilename;
  if not CanRun then exit; //Nur wenn alle Parameter gefüllt sind
  if fThreadRunning then exit; //Nur ein Download kann laufen
  if fWUSDownloadThread <> NIL then
    Raise EWUSException.Create(rWUS_Exeption_Internal_Error);

  fWUSDownloadThread := TWUSDownloadThread.Create(true);
  fWUSDownloadThread.URL := fUpdateListURL;
  fWUSDownloadThread.Filename := fTempFileName;
  fWUSDownloadThread.OnTerminate := OnFinishedDownload;
  fWUSDownloadThread.FreeOnTerminate := false;
  fWUSDownloadThread.Resume;
end;


und hier kommt er nie an:
Delphi-Quellcode:
procedure TWUSUpdatesCheck.OnFinishedDownload(Sender: TObject);
begin
  {Hier die Daten übernehmen}
   writeln('finished');
  fThreadRunning := false;
  FreeAndNIL(fWUSDownloadThread);
end;
Danke schon mal.
Greeny
  Mit Zitat antworten Zitat