Bonjour,
J'ai un souci avec un appel de dll dynamique, et, je pense, un paramètre en std::string.
Voici mon code d'appel :
Je rentre bien dans la fonction sans souci MAIS, pour un appel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 typedef std::string (WINAPI * DLL_MyFunction) (std::string xmlFlux); DLL_Function_Send pFuncSend; pFuncSend = (DLL_Function_Send) GetProcAddress( _hDll, "SendEvenement" ); if (pFuncSend == NULL) { return; } pFuncSend(MonContenu); }
Si je passe en entrée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 std::string WINAPI SendEvenement(std::string xmlFlux) { std::cout << "SendEvenement" << std::endl; ... }
J'obtiens :xmlFlux = "mon contenu xml"
(avec xmlFlux._MySize = 545 xmlFlux._MyRes = 559)
A priori J'ai un décalage de mon pointeur... pourquoi ???xmlFlux = "Send evenement" -> c'est le nom de la fonction !!!
(avec xmlFlux._MySize = 559 xmlFlux._MyRes = 1154654 ??) _Mysize et devenu _MyRes
C'est la question...
Merci pour votre aide.
Partager