读书人

动态数组参数传递有关问题

发布时间: 2012-04-13 13:50:24 作者: rapoo

动态数组参数传递问题
type
vItems = record
Items :string; //项目名称
Units :string; //单位
Nums :Integer; //数量
Price :Currency; //单价
Money :Currency; //金额
end;

函数名称:
function OpenFrm(var sItem:array of vItems;OperatorCode:string):Boolean;

调用过程:
procedure TWorkWindowForm.btn1Click(Sender: TObject);
var
bb:array [0..7] of vItems;
begin
OpenFrm(bb,'aa');
end;

错误:
[Error] WorkWindow.pas(62): Incompatible types


[解决办法]
开放数组是可以兼容动态数组、静态数组和“[]”括起来的数组项的,以下编译完全没问题,D7

Delphi(Pascal) code
type  TRec = record  end;procedure a(var x: array of TRec);beginend;procedure TForm1.FormCreate(Sender: TObject);var  m: array[0..7] of TRec;begin  a(m);end;
[解决办法]
探讨

开放数组是可以兼容动态数组、静态数组和“[]”括起来的数组项的,以下编译完全没问题,D7
Delphi(Pascal) code

type
TRec = record
end;

procedure a(var x: array of TRec);
begin

end;

procedure TForm1.FormCreate(Sender: TObject);
var
m:……

[解决办法]
探讨

引用:

开放数组是可以兼容动态数组、静态数组和“[]”括起来的数组项的,以下编译完全没问题,D7
Delphi(Pascal) code

type
TRec = record
end;

procedure a(var x: array of TRec);
begin

end;

procedure TForm1.FormCre……

读书人网 >.NET

热点推荐