使用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
随机推荐
- PHP 图片水印类代码
- 分享一款基于jQuery的视频播放插件
- perl use 命令中指定路径的方法
- 批处理bat 延时执行命令的两种方法
- SpringMVC解析JSON请求数据问题解析
- IOS 中 new 和 alloc init 的对比
- c++ vector(向量)使用方法详解(顺序访问vector的多种方式)
- JS判断浏览器是否安装flash插件的简单方法
- javascript 方法覆写实例代码
- 编码为GB2312网站让AJAX接收的数据显示支持中文
- 利用js获取服务器时间的两个简单方法
- springmvc4+hibernate4分页查询功能实现
- 基于jquery实现简单的手风琴特效
- dedecms列表中显示文章完整标题的解决办法
- C++语言实现线性表之链表实例
- python实现根据图标提取分类应用程序实例
- C#中在WebClient中使用post发送数据实现方法
- Kotlin 编程三分钟入门
- first01为您提供100M免费全能型空间服务
- Python编程之基于概率论的分类方法:朴素贝叶斯