串口通讯下使用move函数报错的问题? 有点急!!!
用SPCOMM写了个串口的程序,在接收的事件里这样写:
procedure TMainForm.comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
rbuf: array[0..1024] of byte;
begin
...............
move(buffer^, pchar((@rbuf)^), BufferLength);
.....................
end;
如果接收到的数据 BufferLength <30 都没有问题,但是超过这个数那系统就会自动关闭退出,提示非法访问内存。
但是奇怪的是,在我自己调试的电脑上不会有这个错误,在其他没有安装DELPHI的电脑就会有错误提示,请问这和什么
有关系呢?
[解决办法]
那我来jf了
呵呵
[解决办法]
jf的灰过
[解决办法]
procedure TMainForm.comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
rbuf: Array of char;
begin
...............
GetMem(rbuf,BufferLength);
try
move(buffer^, rbuf^,BufferLength);
.................
finally
FreeMem(rbuf);
end;
.....................
end;
[解决办法]