时间:2021-05-22
前天碰到有人问SAFEARRAY的问题,我正好对VBSCRIPT里面如何得到COM组件返回的数组感兴趣,就试验了一下。
IDE用的是VC7.1
开始都差不多,建立工程,建立COM对象,建立方法:
接口定义:
[id(2),helpstring("methodGetArray")]HRESULTGetArray1([out,retval]VARIANT*v);
方法实现:
STDMETHODIMPCATL3::GetArray1(VARIANT*pvaVariant)
{
std::vector<float>vct;
vct.push_back(11.4);
vct.push_back(12.4);
vct.push_back(14.4);
CComSafeArray<VARIANT>saMatrix;
for(inti=0;i<vct.size();++i)
{
saMatrix.Add(CComVariant(vct[i]));
}
VariantInit(pvaVariant);
CComVariantvar(saMatrix);
var.Detach(pvaVariant);
returnS_OK;
}
注意的一点就是:VBS或其它脚本环境中要得到返回数组参数,数组中的类型是VARIANT类型。
VBS测试脚本
Dimv4
Cnxn4.Add1,2
v4=Cnxn4.GetArray1()
Dimx
Forx=Lbound(v4)ToUbound(v4)
MsgBoxv4(x)
Next
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
JavaScript中ubound函数方法是返回在VBArray的指定维中所使用的最大索引值。使用方法:复制代码代码如下:safeArray.ubound(di
varName=newVBArray(safeArray)参数varName必选。VBArray分配到的变量名称。safeArray必选。VBArray值。备注
方法说明:返回当前正在使用的ip地址,以字符串形式返回语法:复制代码代码如下:dns.getServers()接收参数:无源码:复制代码代码如下:exports
下面一段代码给大家介绍android判断是否有拍照权限,具体代码如下所示:/***返回true表示可以使用返回false表示不可以使用*/publicboole
1、最好不要使用引用返回值有同学在传递的参数的时候使用引用方式传递,避免了临时对象的创建,提高了效率,那么在返回值的时候能不能使用引用呢?看如下代码复制代码代码