Salut quel est le problème avec mon code J'essaie d'enregistrer la classe dans le registre de la manière suivante, mais pendant que je débogue il montre que la classe n'est pas enregistrée et l'application se bloque.Comment enregistrer une classe dans le registre?
Quel est le problème dans ce code s'il vous plaît Aidez-moi.
Test::IDiscover *pICalc = NULL;
HRESULT hRes=CoCreateInstance(Test::CLSID_SqlClass, NULL,
CLSCTX_INPROC_SERVER,Test::IID_IDiscover, reinterpret_cast<void**> (&pICalc));
if(hres<0)
cout<<"register failure"<<endl;
else
cout<<"register success"<<endl; // and i am not free the memory any where...
Et moi aussi essayé comme:
IDiscoverPtr pt(__uuid(SqlClass));
HRESULT hRes=CoCreateInstance(Test::CLSID_SqlClass, NULL,
CLSCTX_INPROC_SERVER,Test::IID_IDiscover, reinterpret_cast<void**> (&pICalc));
if(hres<0)
cout<<"register failure"<<endl;
else
cout<<"register success"<<endl;
Si je fais comme ça quand je le débogage à ce
IDiscoverPtr pt__uuid(SqlClass));
Le débogage va à cette fonction et indique l'erreur COM interne.
Il existe des macros FAILED et SUCCEEDED pour tester les HRESULT - vous devriez les utiliser au lieu de comparer à 0 - qui donne un code plus lisible. – sharptooth