var
sMsg,Str: string;
begin
sleep(100);
Str:='';
SetLength(sMsg,BufferLength);
move(buffer^,pchar(@sMsg[1])^,bufferlength);
Memo1.Text := Memo1.Text + sMsg; //显示接收数据没问题
...
end
改成:
begin
sleep(100);
Str:='';
SetLength(sMsg,BufferLength);
move(buffer^,pchar(@sMsg[1])^,bufferlength);
Str:= Str + sMsg;
Memo1.Text := Str; //显示接收数据不全,不知为什么?
...
end
sMsg,Str: string;
begin
sleep(100);
Str:='';
SetLength(sMsg,BufferLength);
move(buffer^,pchar(@sMsg[1])^,bufferlength);
Memo1.Text := Memo1.Text + sMsg; //显示接收数据没问题
...
end
改成:
begin
sleep(100);
Str:='';
SetLength(sMsg,BufferLength);
move(buffer^,pchar(@sMsg[1])^,bufferlength);
Str:= Str + sMsg;
Memo1.Text := Str; //显示接收数据不全,不知为什么?
...
end
我开始也用spcomm,总是有些问题。
这个不得不吐槽一下,直接就可以
Spcomm此控件如果是早期版本的话,装了Unicode版本上,会出现问题。
建议使用Cnpack中的VCL控件包,一直在维护和更新的。不用担心版本 或 更新的问题。Cnpack官网上就有此控件包。