手机
当前位置:查字典教程网 >脚本专栏 >vbs >使用SAFEARRAY返回的代码
使用SAFEARRAY返回的代码
摘要:前天碰到有人问SAFEARRAY的问题,我正好对VBSCRIPT里面如何得到COM组件返回的数组感兴趣,就试验了一下。IDE用的是VC7.1...

前天碰到有人问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

【使用SAFEARRAY返回的代码】相关文章:

进程监控实现代码[vbs+bat]

用vbs发送带附件的邮件

一些很恶作剧的vbs程序代码

创建Guid 的代码

vbs之使用Internet Explorer 屏蔽密码

vbs下通过日期查找文件夹的代码

获取屏幕分辨率的VBS代码

利用vbs自动修改ip的代码

vbs整人代码大集合 多年的代码收集

用vbscript脚本实现返回 IP 配置数据的代码

精品推荐
分类导航