delphi中出现delphi中class EVariantInvalidArgError with message Invalid argument

qq522143383 2013-11-08 03:51:03
delphi中串口编程在等待接收代码中出现class EVariantInvalidArgError with message Invalid argument的错误,请大师们帮帮忙!
function TForm1.SendDataWait(RxLen: Integer; WaitTime: DWORD): Boolean;
var
TT: DWORD;
BufLength:integer;
i:integer;
begin
result := False;
TT := GetTickCount;
while (((GetTickCount - TT) < WaitTime) and (MSComm1.InBufferCount < RxLen)) do
begin
Application.ProcessMessages;
Sleep(1000);
end;
BufLength:= MSComm1.InBufferCount;
if BufLength =200 then
begin
SetLength(RxBuf, BufLength);
for i := 0 to 199 do RxBuf[i] := 0;
RxBuf := MSComm1.Input; //这里出错,如果注释这一句就没错,但串口就接收不了数据了
if BufLength>= RxLen then
begin
result:= true;
end;
for i := 0 to (Length(RxBuf) - 1) do
StatusBar1.Panels[1].Text := StatusBar1.Panels[1].Text + IntToHex(RxBuf[i], 2) + ' ';
end;

end;
我这里RxBuf的定义为RxBuf:array of byte
...全文
197 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq522143383 2013-11-08
  • 打赏
  • 举报
回复

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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