Thema: Delphi Thread abbrechen

Einzelnen Beitrag anzeigen

Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#1

Thread abbrechen

  Alt 10. Mai 2003, 13:29
In einem Thread läuft ein langwieriger Prozess ab. Nun möchte ich dem User die Möglichkeit geben, den Prozess abzubrechen. Mit TThread.Terminate klappts natürlich nicht. Also habe ich mal TerminateThread ausprobiert. Manchmal hats damit geklappt, manchmal ist das Programm einfach abgestürtzt, dies war häufiger der Fall. Also habe ich eine Prozedure in der Thread-Klasse definiert, die so aussieht:
Code:
procedure TMyThread.ShutDownThread;
var
  ExitCode: Longword;
begin
  GetExitCodeThread(Handle, ExitCode);
  ExitThread(ExitCode);
end;
Wenn ich nun aber im Hauptthread diese Methode aufrufe, ist meine Anwedung niergens mehr zu sehen, scheint aber noch zu laufen, da in der IDE der "Play" Button noch gedrückt ist usw.. Welche Möglichkeit habe ich noch, einen einen langen Prozess in einem Thread abzubrechen oder ist die von mir verwendete Methode die richtige, nur mach ich was falsch?
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat