Результат метода COM не показывает правильное значение - PullRequest
0 голосов
/ 26 мая 2011

В моем компоненте COM есть следующий вызов метода. Этот метод вызывается из VBScript.

STDMETHODIMP CMyInterface::TestX(VARIANT* myTest)
{
    myTest->vt = VT_I4;
    myTest->lVal = m_nCount;
    ++m_nCount;
    return S_OK;
}

Следующий код используется для вызова метода. Но последнее утверждение ' Response.Write("Value of result" & result)' не печатает 0 . В чем может быть проблема?

Set myObject = CreateObject("MyCom.MyInterface")
result=myObject.TestX(value)
Response.Write("Value of result" & result)

1 Ответ

3 голосов
/ 26 мая 2011

Клиенты сценариев не считают HRESULT возвращаемым значением вызова метода.Вместо этого они ищут параметр, помеченный в IDL как [out, retval], и используют его в качестве возвращаемого значения.

...