Здравствуйте DmitryM, Вы писали:
DM>В JScript оказалось, что число простой тип и передается по значению,
DM>а сложные типы — массивы, строки — по ссылке в VARIANT*
DM>Пришлось вместо числа использовать массив и все заработало !!!!
DM>
DM>STDMETHODIMP Ctest2::m3(VARIANT sIn, VARIANT *iOut, BSTR *sRet){
DM> if(iOut->vt == VT_DISPATCH){
DM> *sRet = CComBSTR( "iOut - VT_DISPATCH" ).Detach();
DM> IDispatchEx* pDE;
DM> HRESULT hr = iOut->pdispVal->QueryInterface(IID_IDispatchEx, (void**)&pDE);
...
DM>}
DM>
Жуть какая. А что, VARIANT типа VT_I4 | VT_BYREF не работает?