Bonjour,
J'ai un EXE qui utilise une DLL.
Dans mon EXE, j'ai une classe MyClass, j'appelle une fonction function(MyClass *pMyClass) en C située dans la DLL, en lui passant un pointeur pMyClass.
Dans ma fonction je reçois bien le pointeur pMyClass, avec l'adresse correcte de mon objet MyClass.
Lorsque j'accède à un membre de cet objet, je prends un GPF (Global Protection Fault). En effet, bien que l'adresse soit bonne, le membre en question, qui est un pointeur vers un buffer, est NULL.
Dans l'EXE:
Dans la DLL
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
Le pointeur pMyClass est juste, par contre, pMyClass->pBuffer contient NULL
A noter que: En mode Debug, ça fonctionne parfaitement, mais en release, ça plante, comme si l'espace mémoire attribué à l'EXE était différent de celui attribué à la DLL.
Est-ce que quelqu'un aurait une idée sur ce problème?
Merci
Christian

 

 
		
		 
         
 

 
			
			
 
   
 


 Problème d'accés mémoire entre un exe et sa dll
 Problème d'accés mémoire entre un exe et sa dll
				 Répondre avec citation
  Répondre avec citation


Partager