关于ActiveX控件的返回值

使用ATL写ActiveX控件时,方法的返回值类型固定为HRESULT。如果需要方法有返回值时,可以使用[out, retval]修饰参数,用脚本调用该方法时,该参数便是方法的返回值。

例如:定义的方法为

HRESULT GetResult([out, retval] BSTR *pVal);

 

在script里面 

var v = 控件ID.GetResult(); 

 

就可以返回bstr值。

还有,需要注意返回字符类型时的写法,示例如下:

STDMETHODIMP CReader::GetString(BSTR* str)
{
    
*str = CComBSTR("Hello, String").Copy();

    
return S_OK;
}

 

 

 

  

posted @ 2010-01-27 13:12  同一片海  阅读(1006)  评论(0编辑  收藏  举报