ActiveX控件中的javascript数组.push()
我有一个javascript数组ActiveX控件中的javascript数组.push(),javascript,c++,internet-explorer,activex,Javascript,C++,Internet Explorer,Activex,我有一个javascript数组var arr=new array()
var arr=new array()我想通过ActiveX控件推送元素
我的代码如下所示:
//get IDispatchEx of Array
_bstr_t arr("arr");
spScriptEx->GetDispID(arr,0,&disArr);
spScriptEx->InvokeEx(disArr, LOCALE_SYSTEM_DEFAULT,
DISPATCH_PROPERTYGET, &dispparamsNoArgs,
&var, NULL, NULL);
pdisArr = var.pdispVal;
pdisArr->QueryInterface(IID_IDispatchEx, (void **)&pdexArr);
_variant_t v("hahaha"); // element we want to put in to array
DISPID push = 0;
_bstr_t pu("push");
pdexArr->GetDispID(pu, 0, &push);
DISPID ti = DISPID_THIS;
DISPPARAMS params = {&v, &ti, 1, 1 };
OLE_HRT(pdexArr->InvokeEx( // call arr.push("hahaha")
push,
LOCALE_SYSTEM_DEFAULT,
DISPATCH_METHOD,
¶ms,
NULL,
NULL,
NULL))
但是,我看不到元素中加入了“哈哈哈”。有人能发现这里有什么明显的错误吗?谢谢 您是否已进入调试器以验证一切是否成功?调用InvokeEx的结果是什么?在我看来,这或多或少是正确的。InvokeEx的返回值是S_OK。