最近几天接触vc和activex
基本什么都不懂
照着葫芦画瓢画啊画
困难多多
请大大们指点一二activex控件内方法:
BSTR xxxCtrl::GetStr(CHAR* GetJsStr)
{.......}
(不知道这样写获取外部参数正确不...-_-)
调度映射:
DISP_FUNCTION_ID(xxxCtrl, "GetStr", dispidGetStr, GetStr, VT_BSTR, VTS_PI1)
主调度接口方法:
[id(4), helpstring("GetStr")] BSTR GetStr(CHAR* GetJsStr);
---------------------------------------------------------------
这里我主要就是想通过js脚本对GetJsStr进行赋值js脚本:
function PostStr(){
var obj=document.getElementById("xxxCtrl");
var returnstr=obj.GetStr("test");
alert(returnstr);
}报错:类型不匹配..CHAR* GetJsStr变换为CHAR GetJsStr 还是同样的错误不知道该如何写,才能够使用js脚本向activex控件传递参数。请大大们指教;谢谢!

解决方案 »

  1.   

    你到底是传入参数还是传出参数?
    GetJsStr是传给控件的话,要这样写:
    BSTR xxxCtrl::GetStr(LPCTSTR GetJsStr)
    {.......}
    DISP_FUNCTION_ID(xxxCtrl, "GetStr", dispidGetStr, GetStr, VT_BSTR, VTS_BSTR)
    [id(29)] BSTR GetStr(BSTR GetJsStr);
      

  2.   

    谢谢   yang79tao() 我想我大概明白了