C
cp0574
Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中设置了两个动态数组rbuf,sbuf
CONST CON=100;
VAR rbuf,sbuf:array of byte;
……
setlength(sbuf,con);
for i:=1 to con do sbuf:=i;
senddata(SPCOMM发送数据)
……
SBUF 的使用没有问题。
然后在接收收据时(自发自收)
procedure TFcomm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
……
begin
setlength(Rbuf,BufferLength);
viewstring:='';
for i:=1 to BufferLength do
viewstring:=viewstring+inttohex(rbuf,2)+' ';
……
end;
在上面的“viewstring:=……”发生了错误,而我如果把sbuf,rbuf的定义改成 VAR rbuf,sbuf:array[1..con] of byte;
就没有一点错误。这是为何???
CONST CON=100;
VAR rbuf,sbuf:array of byte;
……
setlength(sbuf,con);
for i:=1 to con do sbuf:=i;
senddata(SPCOMM发送数据)
……
SBUF 的使用没有问题。
然后在接收收据时(自发自收)
procedure TFcomm.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
……
begin
setlength(Rbuf,BufferLength);
viewstring:='';
for i:=1 to BufferLength do
viewstring:=viewstring+inttohex(rbuf,2)+' ';
……
end;
在上面的“viewstring:=……”发生了错误,而我如果把sbuf,rbuf的定义改成 VAR rbuf,sbuf:array[1..con] of byte;
就没有一点错误。这是为何???