求购ASYNC32 for D6 组件

zoao 2003-08-08 04:45:49
我用ASYNC32 for d5的组件在d6下安装使用,接收发送都没有问题,但是为什么会老掉包?总是会接收不到每包的最后一个字节(即检验码)。是不是控件问题,代码如下:
GetMem(buffer,commansy1.ReadBufSize);
FillChar(Buffer^,Commansy1.ReadBufSize,0);
bytes:=commansy1.Read(buffer^,Count);
if bytes=-1 then exit;
disp(@(buffer^[0]),count); //显示接收的所有字节
for i:=0 to bytes-1 do
begin
case Buffer^[i] of
$5a:
begin
if CheckValidCRC(byte(Buffer^[i+1])+2,@(buffer^[i])) then
memo1.Lines.Add('true')
else
memo1.Lines.Add('False');
end
end;
end;
以上代码,有时接收包正确,有时不正确(即检验码)
...全文
12 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧