Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Fehlermeldung: "abnormal program termination" abfangen? (https://www.delphipraxis.net/160880-fehlermeldung-abnormal-program-termination-abfangen.html)

Bernhard Geyer 6. Jun 2011 10:19

Fehlermeldung: "abnormal program termination" abfangen?
 
In einem Programm wird eine ActiveX-Conrol über TWebBrowser verwendet.

In einem bestimmten Fall beendet dieses Control das Programm die Anwendung mit folgender Fehlermeldung:

Zitat:

---------------------------
Microsoft Visual C++ Runtime Library
---------------------------
Runtime Error!

Program: ...MyProgram.exe


abnormal program termination

---------------------------
OK
---------------------------
Das geschieht Asynchron (ActiveX-Control läd größere Datei und bereitet diese auf), d.h. ein try...except geht hier nicht.


Meine Fragen:

Würde dieser Fehler überhaupt abfangbar sein?
Wie seht ihr die Chance das das Programm noch sinnvoll arbeitet und man die Instanz des ActiveX-Controls beendet.
Oder ist es hier eher so das die V++ Runtime vollkommen im Wald ist und eigentlich gar nix mehr vernünftig gehen würde?

CCRDude 15. Jun 2011 10:05

AW: Fehlermeldung: "abnormal program termination" abfangen?
 
Um das auf biegen und brechen zu verhindern, könntest Du versuchen, Dir einen MSDN-Library durchsuchenAddVectoredExceptionHandler zu setzen, dort per MSDN-Library durchsuchenGetModuleHandleEx auf die Fehleradresse schauen, ob de Exception aus dem Control kommt, und das somit abfangen.

Ob sich ein MSDN-Library durchsuchenSetErrorMode darauf auswirkt, weiß ich gerade nicht genau.

Soviel zur Abfangbarkeit, eigentlich würde ich den Fehler aber eher anders suchen, weil das irgendwo nur gepfuschte Workarounds sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz