Помогите с проблемой обработок ошибок в COM
От: AlexKn  
Дата: 23.11.01 08:26
Оценка:
Вроде ничего криминального в строках этих нет
Я делаю интерфейс ITest, делаю поддержку ISupportErrorInfo, создаю метод Init()
и пишу в нем такой код
STDMETHODIMP CTest::Init()
{
// TODO: Add your implementation code here
Error("Error out");
return E_FAIL;
}
Данный метод вызывает exception, когда я пытаюсь его вызвать из клиента
CoInitialize(NULL);
ITestPtr m_ITest;

if(FAILED(m_ITest.CreateInstance(__uuidof(TestObj))))
return -1;
if(FAILED(m_ITest->Init()))
return -1;

Отладчик показывает, что exception вызывает строка
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
в методе который создает компилятор.
inline HRESULT ITest::Init ( ) {
HRESULT _hr = raw_Init();
if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));
return _hr;
}

Кто-нибудь сталкивался с такой проблемой? Подскажите плиз, свои мысли потихоньку заканчиваются
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.