Не могу понять в чем трабла.
Есть exe — сервер
в его интерфесе функция
[id(2), helpstring("method Init")] HRESULT Init([in] BSTR hostName, [out, retval] long* ErrCode);
сама ф-я такая:
TDMETHODIMP CModernize::Init(BSTR hostName, long *ErrCode)
{
*ErrCode = 3;
return S_OK;
}
код на клиенте:
позднее связывание, обект получаю через CoCreateInstanceEx()
...
long ErrCode=10;
pModern->Init(BSTRHostName,&ErrCode);
После этого ErrCode имеет значение 0

Где грабли?
Здравствуйте, Ionich, Вы писали:
I>Есть exe — сервер. В его интерфейсе функция
I>[id(2), helpstring("method Init")] HRESULT Init([in] BSTR hostName, [out, retval] long* ErrCode);
I>сама ф-я такая:
I>TDMETHODIMP CModernize::Init(BSTR hostName, long *ErrCode)
I>{
I> *ErrCode = 3;
I> return S_OK;
I>}
I>код на клиенте: позднее связывание, объект получаю через CoCreateInstanceEx()
I>...
I>long ErrCode=10;
I>pModern->Init(BSTRHostName,&ErrCode);
I>После этого ErrCode имеет значение 0
I>Где грабли?
В позднем связывании. [out, retval] возвращается не в параметре pDispParams, а через pVarResult. Пройди через клиентский вызов pModern->Init в Отладчике или по исходникам. Может быть, правда, ошибка в серверной части, которая неправильно упаковывает результат.
Здравствуйте, Vi2, Вы писали:
I>>Есть exe — сервер. В его интерфейсе функция
Vi2>I>>[id(2), helpstring("method Init")] HRESULT Init([in] BSTR hostName, [out, retval] long* ErrCode);
I>>сама ф-я такая:
Vi2>I>>TDMETHODIMP CModernize::Init(BSTR hostName, long *ErrCode)
I>>{
I>> *ErrCode = 3;
I>> return S_OK;
I>>}
I>>код на клиенте: позднее связывание, объект получаю через CoCreateInstanceEx()
I>>...
Vi2>I>>long ErrCode=10;
I>>pModern->Init(BSTRHostName,&ErrCode);
I>>После этого ErrCode имеет значение 0
I>>Где грабли?
Vi2>В позднем связывании. [out, retval] возвращается не в параметре pDispParams, а через pVarResult. Пройди через клиентский вызов pModern->Init в Отладчике или по исходникам. Может быть, правда, ошибка в серверной части, которая неправильно упаковывает результат.
Ой, сорри, совсем мозги уже плавятся. Раннее у меня связывание.