J'ai une petite application C++ non gérée, j'essaie d'utiliser CoCreateInstance (...) pour créer une instance de "Adobe SVG PLayer" qui est installé en tant que contrôle ActiveX. Lorsque je compile et exécute mon application en configuration 32 bits, cela fonctionne correctement, mais lorsque je compile sous une configuration 64 bits, mon application ne parvient pas à créer l'instance du lecteur SVG Adove, même si je sais qu'elle est installée. .Problème avec l'application x64 et le contrôle ActiveX
Voici le code que j'utilise pour ce faire:
const CLSID CLSID_SVGCtl =
{0x377b5106,0x3b4e,0x4a2d,{0x85,0x20,0x87,0x67,0x59,0x0c,0xac,0x86}};
BOOL CheckSVGPresented()
{
BOOL bResult = FALSE;
try
{
IUnknown* pSvgCtrl = NULL;
if (FAILED(::CoCreateInstance(CLSID_SVGCtl, NULL, CLSCTX_INPROC_SERVER, IID_IUnknown, (LPVOID*)&pSvgCtrl)) || (NULL == pSvgCtrl))
throw 1;
bResult = TRUE;
pSvgCtrl->Release();
}
catch (...)
{
bResult = FALSE;
}
return bResult;
}
Je pense que probablement je un problème parce que j'ai un hôte (ma demande) 64 bits essayant de créer un 32- bits d'une DLL ActiveX (le lecteur SVG).
Je suis en train de tester Windows 7, version x64 bits.
Donc, si vous avez la moindre idée à ce sujet, je vais apprécier l'aide.
Avez-vous recompilé pour la version 64 bits? –
oui, bien sûr que je l'ai fait. – Vic