在vbscript中使用ATL COM中返回safearray参数,报错,不知道为什么,附代码,大家研究一下
大致如下
vbscript:
<%
dim arr
set obj = server.createobject("atltest.com1")
arr = obj.test1 //此处脚本不认识SAFEARRAY类型的variant,why???????
%>
atl com代码如下:
stdmethodimp CCom1::test1(VARIANT *pVal)//pVal [out,retval]
{
VariantInit(pval);
pVal->vt = vt_array|vt_i4;
SAFEARRAY *psa;
.....
pVal->parray = psa;
}
页面运行报错: 答复对象遇到未处理的数据类型
我知道VBSCRIPT的VARIANT没有SAFEARRAY类型,但我看到MSDN中IRequest::BinaryRead
函数可以返回SAFEARRAY类型的值,不知道他是如何实现的。
到底如何在VBCRIPT返回一个SAFEARRAY类型的VARIANT的值,请大家帮帮忙。