您的位置:首页 > 其它

在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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: