(* 类型不一样! 在参数中的array of string是叫 开放数组 类型 在声明中的array of string才是 动态数组 类型参考如下代码 *) type TArrayString = array of string;procedure cmbBox(cmbBox:tcombobox;a1: TArrayString;count:integer); begin SetLength(a1, count); end;
正如 zswang(伴水)(* 嘻 *) 所说的 procedure or function中的xx:array of xxx实际上是让你传入一个数组作参数如: var a:array of string; 调用: procedure (a); begin end; 声明: procedure (al:array of string); begin end;
procedure cmbBox(cmbBox:tcombobox;a1:array of string;count:integer); begin SetLength(a1,count); begin //应用以前的定义; procedure cmbBox(cmbBox:tcombobox;count:integer); var a1:array of string; begin SetLength(a1,count); begin //重新定义; procedure cmbBox(cmbBox:tcombobox; var a1:array of string;count:integer);//本过程中定义
还有些疑问 zswang(伴水)(* 嘻 *)说 ‘类型不一样! 在参数中的array of string是叫 开放数组 类型 在声明中的array of string才是 动态数组 类型 另外要注意的是al其实是一个指针 所以当你修改她的数据时是静态的’ 能解释得更详细些吗?
类型不一样!
在参数中的array of string是叫 开放数组 类型
在声明中的array of string才是 动态数组 类型参考如下代码
*)
type
TArrayString = array of string;procedure cmbBox(cmbBox:tcombobox;a1: TArrayString;count:integer);
begin
SetLength(a1, count);
end;
procedure or function中的xx:array of xxx实际上是让你传入一个数组作参数如:
var
a:array of string;
调用:
procedure (a);
begin
end;
声明:
procedure (al:array of string);
begin
end;
begin
SetLength(a1,count);
begin
//应用以前的定义;
procedure cmbBox(cmbBox:tcombobox;count:integer);
var
a1:array of string;
begin
SetLength(a1,count);
begin
//重新定义;
procedure cmbBox(cmbBox:tcombobox; var a1:array of string;count:integer);//本过程中定义
zswang(伴水)(* 嘻 *)说
‘类型不一样!
在参数中的array of string是叫 开放数组 类型
在声明中的array of string才是 动态数组 类型
另外要注意的是al其实是一个指针
所以当你修改她的数据时是静态的’
能解释得更详细些吗?