【发布时间】:2011-09-28 13:28:12
【问题描述】:
我想从 active-x 组件中获取字节数组,将其存储在 html-form 输入隐藏字段中,然后通过 form-submit 将其传递给服务器。我怎样才能做到这一点?
MIDL:
HRESULT Data([out, retval] SAFEARRAY(VARIANT) *pArray);
C++/ATL
STDMETHODIMP MyActiveX::get_Data(SAFEARRAY **pArray)
{
CComSafeArray<BYTE> arr;
for (int i = 0; i < 10; i++)
{
CComVariant a;
a = (BYTE)i;
arr.Add(a);
}
arr.CopyTo(pArray);
return S_OK;
}
Javascript:
$("#hiddenField").val(myActiveX.Data);
浏览器告诉我:类型不匹配
【问题讨论】:
-
我对 activceX 一无所知,但我建议在数据上使用
.toString()之类的东西。 -
对不起,@James,toString() 将“Object Object”返回给我
-
toString()返回“Object Object”表示toString()没有以有意义的方式在您的对象上实现。看我的回答。 -
在 Firefox 中使用 Firebug 来识别对象的类型及其拥有的成员。我猜它可能是一个整数数组。
-
@Andrew 我的意思是你自己的这个对象的版本。
标签: javascript c++ html com atl