delphi中出现delphi中class EVariantInvalidArgError with message Invalid argument
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