Hallo liebe Forenmitglieder,
ich bekomme eine AccessViolationException in meiner C++ Wrapper-Klasse (managed Code), wenn ich versuche, eine Funktion aus einer unmanaged lib aufzurufen. Die Exception tritt nur sporadisch auf.
Die Codezeile, in der die Exception ausgelöst wird lautet:
int ret = this->grabber_ptr->startGrab();
Dabei ist grabber_ptr ein Zeiger auf ein Objekt, der für die Wrapperklasse als privates Attribut deklariert wurde. Es gibt eine Methode in der Wrapperklasse, die zunächst diesem Zeiger ein gültiges Objekt zuweist. Danach wird auf den Zeiger in verschiedenen Methoden zugegriffen, wie z.B. in obiger Codezeile. Ich gehe davon aus, dass der Zeiger so lange gültig ist, wie das Wrapper-Objekt selbst. Dieses wird in einer C# Klasse als privates Objekt angelegt, so dass es während der gesamten Ausführungszeit des Programms gültig sein sollte. Was kann ich tun, um solche Exception zu vermeiden?