js中调用Atl接口参数返回

在ATL中添加接口:

[id(1)]   HRESULT   GetString([out,retval]BSTR*     pstr);   

 

这样的方法在JS中相当于这们一个函数:   

string   Object::GetString();   

 

你这样用:   

 

var   obj   =   AxtiveXCreateObject("xxxxx");   

...   

var   str   =   obj.GetString();   

alert(str);  

 

我在做网页控件时,获取控件的版本号信息

添加接口

[id(6), helpstring("method GetVersionString")] HRESULT GetVersionString([out,retval]BSTR* pstr);

 

STDMETHOD(GetVersionString)(/*[out,retval]*/BSTR* pstr); 

 

定义:

STDMETHODIMP CAtlVideoCtrl::GetVersionString(BSTR *pstr)

// TODO: Add your implementation code here

  std::string strVersion(STRFILEVER);

CComBSTR comStr;       

comStr.Append(strVersion.c_str());   

*pstr=comStr.Copy();  

return S_OK;

}

 

网页js调用:(activexObj为控件对象)

var stringVersion = NULL;

var = activexObj.GetVersionString();

你可能感兴趣的:(String,object)