Einzelnen Beitrag anzeigen

Gravitar

Registriert seit: 8. Okt 2006
94 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Problem mit globalem Exception Handling

  Alt 5. Sep 2009, 14:22
Zitat von Alfi001:
Du kannst natürlich einen nicht unerheblichen Aufwand treiben und vor jeder Aktion Informationen über den aktuellen Kontext irgendwo speichern um diese dann im globalen Exceptionhandler zu lesen aber der Aufwand ist es nicht Wert! Du hast keine Vorteile von einem globalen Handler (höchstens um Exceptions abzufangen die irgendwie durch alle anderen Exceptionbehandlungen "durchgeschlüpft" sind)
Hi Alfi,

eigentlich wollte ich an der Stelle, wo der Fehler passiert lediglich das Edit-Feld des auslösenden Fehlers an eine globale Variable übergeben und dieser dann in der globalen Exception den Focus übergeben.

Also z.B. so:

Delphi-Quellcode:
MyErrorObject := EdTurnierDatum; //MyErrorObject ist vom Typ TObject
// Hier passiert jetzt eine Exception, da das Datum ungültig ist
datum := strtodate(EdTurnierDatum.text,fsDate);
In der globalen Exception-Behandlungs-Routine wollte ich dann den Focus auf das MyErrorObject legen.

Delphi-Quellcode:
procedure TFrmMain.MyExceptionHandler(Sender : TObject; E : Exception );
var err : TObject;
begin
  MessageDlg('ERROR: ' + E.Message, mtError, [mbOK],0);
  MyErrorObject.setfocus;
end;
Leider funktioniert genau das nicht. Vermutlich erlaubt Setfocus kein TObject. Aber was dann?

Den Aufwand gegenüber 30-40 Try...exception...finally...Blöcken finde ich bei dieser Methode deutlich geringer.
  Mit Zitat antworten Zitat