在COM/DCOM中如何将数组作为函数返回的类型传递
2010-11-26 12:50
337 查看
在进程内自动化服务器中定义一个函数方法,需要在函数返回时,返回多个值,这就需要采
用数组的类型,比如,我定义了一个方法:
function Calculate(inputtime: Integer): PSafeArray; safecall;
需要返回一个数组,如何实现呢?是否采用safearray类型呢?
在定义参数时采用的是safearray类型,怎么实现呢?
参考D5开发人员指南 23章, 交换2进制数据
用Variant,如:
function Calculate(inputtime: Integer): OleVariant; safecall;
begin
Result := VarArrayCreate([0,2], VarOleStr);//三个元素的可变数组
Result[0] := UserNo;//用户编号,数字型
Result[1] := UserName;//用户名称,字符型
Result[2] := FireDate;//入职日期,日期时间型
end;
调用该接口的程序,可以先判断返回值是不是可变数组(用VarIsArray),再反过来赋值就行了,类型会自动转换的。
来源:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1518451
用数组的类型,比如,我定义了一个方法:
function Calculate(inputtime: Integer): PSafeArray; safecall;
需要返回一个数组,如何实现呢?是否采用safearray类型呢?
在定义参数时采用的是safearray类型,怎么实现呢?
参考D5开发人员指南 23章, 交换2进制数据
用Variant,如:
function Calculate(inputtime: Integer): OleVariant; safecall;
begin
Result := VarArrayCreate([0,2], VarOleStr);//三个元素的可变数组
Result[0] := UserNo;//用户编号,数字型
Result[1] := UserName;//用户名称,字符型
Result[2] := FireDate;//入职日期,日期时间型
end;
调用该接口的程序,可以先判断返回值是不是可变数组(用VarIsArray),再反过来赋值就行了,类型会自动转换的。
来源:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1518451
相关文章推荐
- 在COM/DCOM中如何将数组作为函数返回的类型传递
- string类型在参数传递中如何作为引用,如何在函数外修改函数内的string类型
- C语言中如何将数组作为函数参数传递
- 如何将多维数组作为参数传递给函数?(以二维数组为例)
- COM/DCOM中如何传递数组
- 关于在C/C++语言中,函数如何返回数组,数组如何作为参数传递以及返回数组的函数该如何调用问题的总结
- 如何将一个数组的地址作为函数的返回值!
- COM/DCOM中如何传递数组
- C++ 二维数组作为函数返回值类型传递方式举例
- COM/DCOM中如何传递数组
- 最保险的函数间数组作为参数值传递与返回方法,用memcpy函数!
- 返回类型是函数指针的函数指针 类比复杂的数组声明
- 数组作为函数参数传递
- C语言自定义函数如何返回数组
- 数组作为函数的参数传递
- C++中如何使函数返回数组
- 将 “ 引用 ” 作为函数返回值类型的格式、好处和需要遵守的规则
- 《C专家编程》:函数如何返回一个数组(九)
- 在C中如何使函数返回数组
- Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数