使用SAFEARRAY返回的代码
作者 佚名
来源 ASP编程
浏览
发布时间 2013-07-09
前天碰到有人问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 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: vbs实现的下拉框对应键入值下一篇: 可以将文件转换为vbs语句的vbs代码
关于使用SAFEARRAY返回的代码的所有评论