社区
Delphi
帖子详情
在COM的接口方法中能不能用字符串数组,能的话在类型库参数中选择什么Type?不能的话有什么方法替代?如:procedure Tusd_ws.aa(aaa: arr
kingbenz
2004-12-08 05:32:22
在COM的接口方法中能不能用字符串数组,能的话在类型库参数中选择什么Type?不能的话有什么方法替代?如:procedure Tusd_ws.aa(aaa: array of WideString);
...全文
77
5
打赏
收藏
在COM的接口方法中能不能用字符串数组,能的话在类型库参数中选择什么Type?不能的话有什么方法替代?如:procedure Tusd_ws.aa(aaa: arr
在COM的接口方法中能不能用字符串数组,能的话在类型库参数中选择什么Type?不能的话有什么方法替代?如:procedure Tusd_ws.aa(aaa: array of WideString);
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gdstyzh01
2004-12-08
打赏
举报
回复
忘了说,在类型库中选择OleVariant类型
gdstyzh01
2004-12-08
打赏
举报
回复
Variant,Variant数组:
Variant是一种可以拥有各种数据类型的变量.只要variant包含数字值就可以在variant上执行算法,或者当一个variant是字符串,另一个variant是个数值时,就有可能把两个variant加起来。使用VarArrayLowBound和VarArrayHighBound来计算variant数组的边界,以及VarArrayDimCount来计算数组的维数.
VarArrayLock和VarArrayUnlock:
Variant一般占据16位字节的内存,使用variant数组会导致性能损失,因此如果需要多次访问variant数组(如当在数组中循环时,可以使用VarArrayLock和VarArrayUnlock加速数组的访问。
VarArrayCreate函数:创建一个变量数组,该方法是比较灵活的。function VarArrayCreate(const Bounds: array of Integer; VarType: TVarType): Variant;其中Bounds给定了数组的上下边界,VarType给定了数组中存储数据的类型。使用该函数时,必须在头文件中加入Variants单元的引用。如果想创建字符串的变量数组,那么使用varOleStr类型。例如:MyIntArray:=VarArrayCreate([1,10],varinteger);如果创建一个二维的数组,则代码如下:MyIntArray:=VarArrayCreate([1,10,1,5],varInteger);这声明了一个数组有10列和5行。
Variant数组的一个最普遍的用途是创建一个variant类型的数组,就像下面这样:MyVarArray:=VarArrayCreate([1,10],varVariant);,这就创建了带有10个variant的数组。然后数组的单个元素就可以装载一个数组:MyVarArray[1]:=VarArrayCreae([1,5],varVariant);
VarArrayOf:可在运行时用于创建一维variant数组,其内部创建variant数组,创建全异的数值数组如下:MyIntArray:=VarArrayOf([‘John’,’Smith’,40,6000.00,’Main Street’]);
moonetra
2004-12-08
打赏
举报
回复
相关函数有:
VarArrayCreate
VarArrayHighBound
VarArrayLowBound
VarArrayDimCount
VarArrayLock
……
moonetra
2004-12-08
打赏
举报
回复
扩展一下 ysai(大海呀,真TM的大) 的意思就是
procedure SomeProc(var AOle: OleVariant);
begin
{创建一个二维字符串数组,第一维从0..100,第二维从0..2}
AOle:= VarArrayCreate([0, 100, 0, 2], varOleStr);
……
end;
然后使用该接口后可以这样:
procedure OtherProc;
var
NewOle: OleVariant;
StrAry: array of array of string;
i, j: Integer;
begin
SomeProc(NewOle);
……
for i:= 0 to 100 do
begin
for j:= 0 to 2 do
begin
StrAry[i, j]:= NewOle[i, j];
end;
end;
end;
ysai
2004-12-08
打赏
举报
回复
用OleVariant类型
VarArrayCreate建立数组
IOS-粉色系PPT模版.ppt
IOS-粉色系PPT模版.ppt
基于python实现的煤矿井下安全生产检测系统+源码+pyQt界面+项目文档(毕业设计&课程设计&项目开发)
基于python实现的煤矿井下安全生产检测系统+源码+pyQt界面+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 煤矿井下生产环境恶劣,为保障井下人员的安全,需要实时对井下各种环境因素进行监控,监控数据主要分为两大类,第一类为模拟量:如甲烷,瓦斯,氧气,一氧化碳、二氧化碳、温度等(结果以数值表示),第二类为开关量:例如通风风机、设备运行状态、馈电传感器等(结果以0\1 表示,代表两个状态,0代表断开状态,1代表接通状态)。 系统分为上位机(计算机)和下位机(嵌入式系统),通过网络通信。下位机连接各种传感器,并设置多个继电器(进出端口,可实现对传感器的通断电),并将传感器数据定时上传到上位机(每5秒上传一次;如果传感器数值发生变化,则立即上传)。上位机收到下位机数据后,要显示收到的各个传感器的数值或者状态,并且根据控制规则向下位机传输控制数据,从而对各个传感器进行控制
前端分析-202307110078988
前端分析-202307110078988
QT6 模型视图架构里的列表视图 QListView 的源代码带注释
QT6 模型视图架构里的列表视图 QListView 的源代码带注释。
欧洲互联网金融发展对我国商业银行的启示.docx
欧洲互联网金融发展对我国商业银行的启示.docx
Delphi
5,927
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章