Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Nicht behandelte Exception in DLL zentral behandeln

  Alt 14. Nov 2014, 15:53
In der EXE kommt also eine "Exception" an, aber sie wird nicht als Delphi-Exception-Klasse erkannt.
Eben doch. Sie wir als Dephi-Exception erkannt obwohl sie nicht ausgewertet werden kann.
Liegt an der Magic-Number die hier Delphi verwendet und nicht zwischen den Delphi-Versionen geändert wurde.

Man könnte jetzt natürlich in der EXE diese Exception behandeln und über blinde Casts oder Zeigergefummele den Klassennamen und die Message auslesen, aber besser ist es das in der DLL zu behandeln und auf anderen Wege (z.B. Fehlercodes) rauszugeben.
Mir reicht es ja zu erkennen das es eine Nicht-Kompatible Delphi-Exception ist und dann über selbst entwickeltes DLL-API den Typ+Text rauszukommen.


Alternativ linkt man halt DLL und EXE gegen die RTL und schon kann man die Exceptions problemlos rausgeben.
Diese Alternative gibt es hier nicht. Wir verwenden Absichtlich keine BPL's
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat