Delphi中对象数组的使用,该怎么解决
Delphi中对象数组的使用
Delphi对接Java 写的Webservice,调用的函数参数之一是一个一维的对象数组,已经封装好,但是我在调用的时候一直报地址错误,错误代码为:access violation at address 00000000.read of address 00000000 ; 不知道为什么。
代码如下:
调用的代码为:
SetLength(ArrOfwsVouchersReturn,length(ArrOfwsVouchers));
ArrOfwsVouchersReturn := wsVoucherPro.importVoucher(ArrOfwsVouchers,0,0,0);
我看了下,ArrOfwsVouchers的值为:
(([], '10020101', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, '', '2008-12-23', '', '2008-12-23', 0, 0, 0, '恒生电子', '6666', 0, 'CNY', 0, '', 20000000000, '', 1, 1, '', '', False, 0, 1, '', 0, 20000000000, 12, 2008, '', 0, 0, '', 0, '', '', 0, '', '', '产品成立', '[170231]', '1'),
([], '4001', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, '', '2008-12-23', '', '2008-12-23', 0, 0, 0, '恒生电子', '6666', 20000000000, 'CNY', 0, '', 0, '', -1, 2, '', '', False, 0, 1, '', 0, 20000000000, 12, 2008, '', 0, 0, '', 20000000000, '', '', 0, '', '', '产品成立', '[170231]', '1'))
这样的一个数组有没有问题?
不知道开头的[]是什么意思,数组中好像没有这个值啊。
求解答,谢谢。
------解决方案--------------------
Delphi对接Java 写的Webservice,调用的函数参数之一是一个一维的对象数组,已经封装好,但是我在调用的时候一直报地址错误,错误代码为:access violation at address 00000000.read of address 00000000 ; 不知道为什么。
代码如下:
setlength(ArrOfwsVouchers,rs.RecordCount);
i:=0;
rs.MoveFirst;
while not rs.EOF do
begin
wsvoucher := WSWSVoucher.Create;
........
ArrOfwsVouchers[i] :=wsVoucher.Create;
ArrOfwsVouchers[i]:= wsVoucher;
i := i + 1;
rs.MoveNext;
end;
调用的代码为:
SetLength(ArrOfwsVouchersReturn,length(ArrOfwsVouchers));
ArrOfwsVouchersReturn := wsVoucherPro.importVoucher(ArrOfwsVouchers,0,0,0);
我看了下,ArrOfwsVouchers的值为:
(([], '10020101', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, '', '2008-12-23', '', '2008-12-23', 0, 0, 0, '恒生电子', '6666', 0, 'CNY', 0, '', 20000000000, '', 1, 1, '', '', False, 0, 1, '', 0, 20000000000, 12, 2008, '', 0, 0, '', 0, '', '', 0, '', '', '产品成立', '[170231]', '1'),
([], '4001', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, '', '2008-12-23', '', '2008-12-23', 0, 0, 0, '恒生电子', '6666', 20000000000, 'CNY', 0, '', 0, '', -1, 2, '', '', False, 0, 1, '', 0, 20000000000, 12, 2008, '', 0, 0, '', 20000000000, '', '', 0, '', '', '产品成立', '[170231]', '1'))
这样的一个数组有没有问题?
不知道开头的[]是什么意思,数组中好像没有这个值啊。
求解答,谢谢。
------解决方案--------------------