Re[2]: класс, как аргумент метода
От: nalex  
Дата: 22.12.03 13:23
Оценка:
Здравствуйте, kiamor, Вы писали:

K>Ну ежели ты хочешь, чтобы клиент мог создавать этот самый class2 только через один из методов

K>твоего интерфейса
Да, именно это я пытаюсь сделать

K>Лепи в IDL атрибут noncreateble к коклассу и всех делов.

Я неправильно объяснил, проблема у меня именно в создании и возвращении указателя

Сейчас пытался сделать так:
Class1::connect(
/*[in]*/ BSTR User,
/*[in]*/ BSTR Pass,
/*[out]*/ IUnknown** pSrv)
{
HRESULT hr = S_OK;
CComObject<Class2> * pClass2 = NULL;
pSrv = NULL;
pClass2 = new CComObject<pClass2>;
hr = pClass2->QueryInterface( IID_IGrandSmetaSrv, reinterpret_cast<void **>(&pSrv) ) ;
if ( FAILED(hr) )
delete pClass2;
return hr;
}

В клиентской программе при выполнении этого метода все проходит отлично. Но при попытке как-то использовать объект pSrv
получаю ошибку 80004003 "Неправильный указатель".

Как правильно должен работать этот метод?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.