Thema: Delphi Thread abbrechen

Einzelnen Beitrag anzeigen

Stream

Registriert seit: 12. Jan 2003
3 Beiträge
 
#2
  Alt 10. Mai 2003, 15:03
Hallo OrallY!

Das Problemm kenne ich, und es ist auch leicht zu lösen. Das könnte zum Beispiel ein Boolean-Wert in der Thread-Klasse sein, den gibst du den Namen Cancel und setzt ihn als Public Wert ein. Beim Start des Threades setzt du diesen Wert auf false. Wenn der User nun auf den Abbrechen-Button Klickt, wird der Cancel-Bool auf true gesetzt. Jetzt musst du nur noch in deiner Execute-Prozedur eine Abfrage erstellen, ob der Thread geschlossen werden soll oder nicht.

Das sieht dann in Etwa so aus:
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
FreeOnTerminate := true;
Cancel := false;
...
if Cancel then begin
    Terminate;
    exit;
  end;
...
end;
Dein Problem dürfte dann nicht auftreten. Wenn du aber den Thread erneut starten willst musst du ihn aber erneut erstellen! Ansonsten gibt es ne dicke fette Fehlermeldung.

Tschö!
  Mit Zitat antworten Zitat