社区
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);
...全文
78
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建立数组
字符
数组
和
字符串
(转)
字符串
可以用字符
数组
与
字符串
变量两种方式来存储,效果类似。 一、用字符
数组
来存储
字符串
: char st1[100],st2[100] ; //字符
数组
说明 cin>>st1>>st2; long a,b; 输入:hello, world 则st1={‘h’,’e’,’l’,’l...
C++
中
字符
数组
的使用
方法
我的建议是在程序
中
能
使用C++
字符串
就使用,除非万不得已不选用c_string。由于只是简单介绍,详细介绍掠过,谁想进一步了解使用
中
的注意事项可以给我留言(到我的收件箱)。我详细解释。 2.2 大小和容量...
C/C++开发,无可避免的
字符串
(篇一).字节
数组
标准
库
实现
字符串
功能主要是通过类似于std::vector容器的std::basic_string类模板实现的,该模板提供了针对各种字符型号的特化类,如using std::string = std::basic_string;博文还阐述了std::basic_string—_view、...
MFC
中
几个有用的
字符串
操作函数
MFC
中
有几个
字符串
操作函数很有用,但有的在MSDN
中
都查不到,因为MSDN没有公布。下面我们来看看它们的用法和声明及定义等。 // 功能 : 格式化
字符串
//
参数
: rString - 输出
参数
,格式化后的
字符串
将保存在此...
c++
字符串
变量---8
对于C与C++来说是没有
字符串
型的数据
类型
的,在C++
中
是通过包含std命名空间
中
的标准
库
然后用string来定义或者使用
数组
或用指向
数组
的指针来实现
字符串
变量的定义及使用的。 #include<iostream> ...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章