-
Debugger du COM
Bonjour,
J'ai un "access violation" lorsque j'essaie d'acc�der � une des fonctions d'un object COM mais je ne sais pas pourquoi... Y a-t-il un moyen d'acc�der un code du COM lors du d�boggage (� partir d'un porgramme MFC)?
Voici mes m�thodes:
Impl�mentation de la m�thode COM (fichier .tlh):
virtual HRESULT __stdcall GetArrayDimension ( /*[out,retval]*/ long * pRetVal ) = 0;
Appel de la fonction dans mon porgramme c++:
HRESULT hr = CoInitialize(NULL);
IClipboardPtr pIClipboard(_uuidof(TacticalLayoutClipboard));
long lResult = 0;
SAFEARRAYBOUND arrayBounds[1];
arrayBounds[0].lLbound = 0;
long dim = 0;
lResult = pIClipboard->GetArrayDimension(&dim); // CRASH
arrayBounds[0].cElements = dim;
CoUninitialize();
Merci
Dominique
-
Es-tu s�r que pIClipboard est valide, au moins ?
-
Tu peux essayer d'appeller une autre m�thode sur pIClipboard, par exemple
(le plus simple) faire un QueryInterface sur IID_IUnknown (ce qui est toujours possible) et voir si il y a plantage aussi, et �galement le code retour.
-
et pour commencer, v�rifier qu'il est non-nul...
-
Ce qui me faisait dire de tester sur un appel � QueryInterface, c'est la ligne suivante :
Code:
IClipboardPtr pIClipboard(_uuidof(TacticalLayoutClipboard));
J'ai du mal � comprendre le concept d'instanciation d'interface COM sans passer par CoCreateInstance ... :marteau:
-
Merci de cliquer sur bouton :resolu: si ton pb. est r�solu.