我使用SPCOMM出现错误(100分)

  • 主题发起人 mylovegirl
  • 开始时间
M

mylovegirl

Unregistered / Unconfirmed
GUEST, unregistred user!
接受如下
procedure TForm1.SpeedButton2Click(Sender: TObject);
var
strreceive:string;
buffer:pointer;
bufferlength:word;
begin
setlength(strreceive,bufferlength);
move(buffer^,pchar(strreceive)^,bufferlength);
Memo1.lines.add(strreceive);
Memo1.Invalidate;
end;
结果有异常错误
 
setlength(strreceive,bufferlength);
move(buffer^,pchar(strreceive)^,bufferlength);
Memo1.lines.add(strreceive);
Memo1.Invalidate;

这段代码应该是在OnReceiveData事件里的,书上写错了
 
应该在spcomm的OnDataReceive事件中接受数据。
你的Bufferlength是个局部变量,没有进行初始化,这是致命错的其一
指针Buffer没有申请内存,而在move里面使用了它,这是致命错的其二
 
接受答案了.
 
顶部