Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
Delphi 7 Enterprise
|
Re: Fragen zum TThread, Programm absturzsicher?
6. Feb 2009, 16:18
Ok, ich habe es mal getestet (in D7)
- Direkt über die WinAPI bleibt das komplette Programm stehen (tut nix mehr aber schließt sich auch nicht), wenn in einem Thread eine Exception auftritt:
Delphi-Quellcode:
function ThreadFunc(lparam:Integer):Integer; stdcall;
begin
raiseException(0,0,0,nil);
end;
procedure TForm1.Button2Click(Sender: TObject);
var temp:Cardinal;
begin
createthread(nil,0,@ThreadFunc,nil,0,temp);
end;
- Bei BeginThread legt Delphi noch ein Exceptionframe auf die Funktion _ExceptionHandler der eine schöne Meldung ausgibt und dann das Programm beendet
- TThread hat (was mir in Erinnerung war und wie himitsu sagt) ein try..except um die Methode Execute. Die Exception wird dann in der Eigenschaft FatalException gespeichert und kann abgerufen werden. Egal was gemacht wird, der Thread beendet sich und alles andere läuft normal weiter. Kein Meldungsfenster, kein nix.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
|
|
Zitat
|