Forums Neueste Beiträge
 

Exception handling zwischen Anwendung und DLL (CLR und native mix)

11/01/2010 - 12:26 von ramoc | Report spam
Ich verwende in meiner Applikation eine native C++ DLL, welche Exceptions
wirft um sie dann in der Hauptapplikation zu behandeln. Seitdem die
Hauptanwendung weiteren managed Code nutzt und mit /clr uebersetzt wird,
erhalte ich eine System.ExecutionEngineException sobald eine Exception in der
DLL geworfen wird.

Gibt es alternative compiler/linker settings, die Exception handling ueber
Modulgrenzen hinweg erlauben?

VIELEN DANK im voraus fuer die Unterstuetzung!
ramoc
 

Lesen sie die antworten

#1 Jochen Kalmbach [MVP]
11/01/2010 - 12:33 | Warnen spam
Hallo ramoc!

Ich verwende in meiner Applikation eine native C++ DLL, welche Exceptions
wirft um sie dann in der Hauptapplikation zu behandeln. Seitdem die
Hauptanwendung weiteren managed Code nutzt und mit /clr uebersetzt wird,
erhalte ich eine System.ExecutionEngineException sobald eine Exception in der
DLL geworfen wird.

Gibt es alternative compiler/linker settings, die Exception handling ueber
Modulgrenzen hinweg erlauben?



Au weia...

Meine Empfehlung:
Kapsle alle Aufrufe zu dieser DLL in
#pragma managed(push, off)
__try
{
// Aufruf der native DLL...
} __except...

#pragma managed(pop)


Oder was verstehst Du "in der Hauptapplikation behandeln"?

Greetings
Jochen

My blog about Win32 and .NET
http://blog.kalmbachnet.de/

Ähnliche fragen