相关推荐
-
使用VARIANT传递数组的方法及步骤
在使用COM/DCOM写组件时经常要传递数组,一般比如SHORT,LONG等指针可以直接传递相应的指针,但是当遇到需要传递BYTE数组就有问题了,COM不支持BYTE类型参数,传递BYTE数组也就无从说起了。经过查找资料发现使用VARIANT变量可以传递任何类型的数组,随将使用VARIANT数组的方法总结一下。其实在VARIANT传递数组的方法非常简单,只要理解SAFEARRAY数组的使用方法即可
-
在COM方法中用VARIANT类型传递数组数据
在COM方法中可用VARIANT类型传递数组数据,在VC++中用SAFEARRAY处理。下面给出输入和输出数组的例子 1。输入数组到COM中 STDMETHODIMP CTestCom1::vb2vc(VARIANT buffer) { long dim=SafeArrayGetDim(buffer.parray);
-
VARIANT的使用方法
VARIANT结构体主要是使用在COM(组件对象模型)中用于传递参数使用,它的存在主要是为了保持一个在COM参数传递方法的统一性,它几乎包含了所有普通常用类型的数据类型的传递,如整型,浮点型,布尔型等等,以及相应类型的指针类型,如整型指针。它的使用也比较方便。先来看看这个结构体它的结构: typedef struct tagVARIANT { union { struct __t
-
COM参数如何传递数组
好象很少情况会在com的参数中用到数组。但有时候数组确实也会有它的方便之处。特别是变体数组可以存放不同的数据类型,特别的方便。(还有就是传递不定数目的参数时,可利用变体数组,非常有用)比如现在有一堆数据需要进行处理,处理的分支条件是数据的类型。VB中的调用代码:dim var1,var2ReDim var1(3)var1(0) = CInt(10) 整型需要*10var1(1) = CL
-
数组的初始化及作为参数时的使用
(个人总结,如有不正确的地方,望指正) 整数型和字符型: 初始化格式: 1,最简式 int a[6]; 6表示数组可以放6个数据,表示数组大小的符号只能是常数,不能是变量(值为常数的变量也不行),不能是表达式。 2,全赋值 charstr[5]={‘a’,’b’,’c’,’d’,’e’}; 3,部分赋值 int a[6]={1}; 则a[0]=1,a[1]=a[2]=0.即为赋
-
COM/DCOM中如何传递数组
因为COM/DCOM对象都不在Client程序运行的内存空间(内进程COM对象除外,即便如此,为了统一接口,内进程的COM也不得传递指针),而且在Win32中所有的程序都有自己独立的2GB的内存空间,程序与程序之间传递指针(内存地址)是毫无意义的,而数组、字符串等大量的数据在程序中都是分配一定的内存空间,然后用指针加内存偏移量来存取数据的,这时,如何在COM/DCOM对象中如何传递呢?
-
COM接口中使用VARIANT* varNameArray返回数据给Javascript
COM接口为VARIANT* 赋值后提供给页面中的Javascript。
-
VARIANT 传递字符串数组
TCHAR* strArray[2] = {_T("Hello"),_T("World")}; int arraySize = sizeof(strArray) / sizeof(strArray[0]); //创建 VARIANT vtArray; VariantInit(&vtArray); vtArray.vt = VT_ARRAY | VT_VARIANT; vtArray.parray = SafeArrayCreateVecto...
7 楼 Clover.King 2009-08-04 16:37
6 楼 hanjiangit 2009-08-03 10:35
5 楼 mshijie 2009-08-03 09:22
4 楼 xgene 2009-08-03 08:40
3 楼 天机老人 2009-08-02 17:43
2 楼 houlc 2009-08-02 17:00
1 楼 whaosoft 2009-08-02 16:57