使用SAFEARRAY返回的代码
前天碰到有人问SAFEARRAY的问题,我正好对VB SCRIPT里面如何得到COM组件返回的数组感兴趣,就试验了一下。
IDE用的是VC7.1
开始都差不多,建立工程,建立COM对象,建立方法:
接口定义:
[id(2), helpstring("method GetArray")] HRESULT GetArray1([out,retval] VARIANT* v);
方法实现:
STDMETHODIMP CATL3::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 ( int i = 0 ; i < vct.size(); ++i )
{
saMatrix.Add( CComVariant(vct[i]));
}
VariantInit(pvaVariant);
CComVariant var( saMatrix );
var.Detach( pvaVariant );
return S_OK;
}
注意的一点就是:VBS或其它脚本环境中要得到返回数组参数,数组中的类型是VARIANT类型。
VBS测试脚本
Dim v4
Cnxn4.Add 1, 2
v4 = Cnxn4.GetArray1()
Dim x
For x = Lbound(v4) To Ubound( v4 )
MsgBox v4(x)
Next
相关推荐
-
使用SAFEARRAY返回的代码
前天碰到有人问SAFEARRAY的问题,我正好对VB SCRIPT里面如何得到COM组件返回的数组感兴趣,就试验了一下. IDE用的是VC7.1 开始都差不多,建立工程,建立COM对象,建立方法: 接口定义: [id(2), helpstring("method GetArray")] HRESULT GetArray1([out,retval] VARIANT* v); 方法实现: STDMETHODIMP CATL3::GetArray1(VARIANT * pvaVariant)
-
jquery小火箭返回顶部代码分享
这是一款基于jquery小火箭返回顶部特效源码,解决了页面太长造成的用户返回页面顶端困难. 为大家分享的jquery小火箭返回顶部代码如下 <head> <title>jquery小火箭返回顶部代码</title> <link href="css/top.css" rel="stylesheet" type="text/css"/> </head> <body style=&quo
-
asp.net(文章截取前几行作为列表摘要)无损返回HTML代码
复制代码 代码如下: <BR> /* <STRONG>时间很久远了,有码友要,我抄了下来,记得使用的时候还是有部分例外情况要处理,大部分是ok的.</STRONG> * 函数: * 说明:无损返回HTML代码 * * 作者:卡斯Kas(QQ:10590916) * 修改:2010-12-13. */ public static string Lef
-
laravel 错误处理,接口错误返回json代码
Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户. 所有异常都由类App\Exceptions\Handler处理,该类包含两个方法:report和render report方法只是将异常传递给异常被记录的基类,我们这里主要是针对 render 的修改: 先看代码: public function render($request, Exception $exception) { if($request->i
-
Vue请求java服务端并返回数据代码实例
这篇文章主要介绍了Vue请求java服务端并返回数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近在自学vue怎么与java进行数据交互.其实axios还是挺简单的,与ajax请求几乎一样,无外乎也就是要解决下跨域的问题. 废话不多说了,直接贴代码,一看就懂! //向springmvc Controller发起请求,传递一个参数 get请求(带参数传递) axios.get('http://127.0.0.1:8088/inas/
-
Python多线程获取返回值代码实例
这篇文章主要介绍了Python多线程获取返回值代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用多线程的时候难免想要获取其操作完的返回值进行其他操作,下面的方法以作参考: 一,首先重写threading类,使其满足调用特定的方法获取其返回值 import threading class MyThread(threading.Thread): """重写多线程,使其能够返回值""" d
-
django从后台返回html代码的实例
需求:有时需要直接从后台返回html代码,并带有相应的css,免得在前端再写一堆嵌入代码进行判断. django从 views 往 templates 传输html代码时,默认是不渲染此html代码,原因是为了安全. 而为了渲染html代码,需要额外加上一些代码: from django.utils.safestring import mark_safe deploy_success = mark_safe('<span class="label label-success"&g
-
MVC生成页码选择器返回HTML代码详解
我主要讲此代码用于MVC的分布页. 先看最终效果最终效果: 样式为bootstrap3中的分页"pagination",如果不使用bootstrap单独提出来并不大 页码生成代码为: public string GetPaginationHtml(PaginationViewModel p) { var PageNum = p.Page;//当前页码(页码从1开始) var PageCount = p.PageCount;//总页数 var ItemCount = p.ItemCoun
-
网页中返回顶部代码(多种方法)另附注释说明
下面就说下简单的返回顶部效果的代码实现,附注释说明. 1. 最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能 方法一:用命名锚点击返回到顶部预设的id为top的元素 复制代码 代码如下: <a href="#top" target="_self">返回顶部</a> 方法二:操作scrooll函数用来控制滚动条的位置(第一个参数是水平位置,第二个参数是垂直位置) 复制代码 代码如下: <a href=&qu
-
用jQuery实现的智能隐藏、滑动效果的返回顶部代码
在线DEMO:传送门 HTML代码(放在页面任意位置,并用CSS美化): 复制代码 代码如下: <p id="back-to-top"><a href="#top"><span></span>回到顶部</a></p> JS代码: <script type="text/javascript" src="js/jquery-1.7.2.min.js"&g
随机推荐
- 分享下网站开发人员应该知道的61件事
- jQuery实现响应鼠标背景变化的动态菜单效果代码
- JSON 入门指南 想了解json的朋友可以看下
- Spring MVC利用Swagger2如何构建动态RESTful API详解
- asp.net中使用自定义控件的方式实现一个分页控件的代码
- C#使用Dispose模式实现手动对资源的释放
- C#设计模式之Template模板方法模式实现ASP.NET自定义控件 密码强度检测功能
- Android一行代码实现圆形头像
- JavaScript获取图片像素颜色并转换为box-shadow显示
- jquery仿微信聊天界面
- JS实现点击登录弹出窗口同时背景色渐变动画效果
- 用JavaScript实现用一个DIV来包装文本元素节点
- 教你如何使用platform密钥对apk进行签名
- 基于KO+BootStrap+MVC实现的分页控件代码分享
- C# 运用params修饰符来实现变长参数传递的方法
- 如何在PHP中使用Oracle数据库(5)
- ROS2.96-97,电信网通双线接入图文教程
- python解释器spython使用及原理解析
- Bootstrap模态对话框用法简单示例
- python3利用smtplib通过qq邮箱发送邮件方法示例