CoCreateInstance завершается с неизвестной ошибкой - PullRequest
0 голосов
/ 16 сентября 2009

Я создал элемент управления ActiveX, который работает на всех ПК, кроме двух на клиентском компьютере. Я сузил проблему до сбоя CoCreateInstance (), который завершается с неизвестной ошибкой.

Что может вызвать эту проблему?

Пожалуйста, смотрите код ниже:

try
{   
 CComPtr<IDispatch>  lpTDispatch;
//Following line generates an exception
 HRESULT hr = lpTDispatch.CoCreateInstance(_bstr_t("XBrowseInvokerBean.Bean.1"));

//Following line do not get executed.
DWORD lasterror = GetLastError();        
logFile->Write(CString("GetLastError : %u"), lasterror);
logFile->Write(CString("HRESULT Value: %X"), hr);       
}

catch(CException *e)
{     
//Exception does not get caught in this catch

  LPSTR strError ="";
  e->GetErrorMessage(strError,MAX_PATH);        
  logFile->Write("Exception:"+CString(strError));   
  CoUninitialize();
}

catch (_com_error e)
{    
 //Exception does not get caught in this catch

CString err2 = _com_error(HRESULT_FROM_WIN32(GetLastError())).ErrorMessage();
logFile->Write("COM ERROR2:"+CString(err2));
CoUninitialize();
}

catch(...)
{    
 //Exception get caught in this catch, Value returned is 0.

 logFile->Write("Unknown exception occurred:%X",  
                HRESULT_FROM_WIN32(GetLastError()));        
 CoUninitialize();
}

1 Ответ

0 голосов
/ 16 сентября 2009

Это почти наверняка связано с отсутствующей зависимостью. Проверьте реестр, чтобы увидеть, установлен ли XBrowseInvokerBean.Bean и все, на что он опирается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...