奇怪的问题,请大家帮忙看看,谢谢!! ( 积分: 10 )

  • 主题发起人 主题发起人 wwq_80
  • 开始时间 开始时间
W

wwq_80

Unregistered / Unconfirmed
GUEST, unregistred user!
这是串口接收数据的按钮,当发送方发出数据时,接收没有问题,可是当发送方发出的数据为空时,就出现这样的错误”raised exception class EVariantBadIndexError with message 'variant or safe array index out of bounds'“,请问这是为什么呢????
procedure TForm1.BitBtn2Click(Sender: TObject);
var
bytInput:MybytByte; //用于接收数据的字节数组
intinputlen:integer;
begin

MSComm2.InputMode:= comInputModeBinary;
intinputlen:= MSComm2.InBufferCount;
setlength(bytinput,intinputlen);
bytInput:= MSComm2.Input;
inputManage(bytInput, intinputlen);
GetDisplayText;
end;
 
这是串口接收数据的按钮,当发送方发出数据时,接收没有问题,可是当发送方发出的数据为空时,就出现这样的错误”raised exception class EVariantBadIndexError with message 'variant or safe array index out of bounds'“,请问这是为什么呢????
procedure TForm1.BitBtn2Click(Sender: TObject);
var
bytInput:MybytByte; //用于接收数据的字节数组
intinputlen:integer;
begin

MSComm2.InputMode:= comInputModeBinary;
intinputlen:= MSComm2.InBufferCount;
setlength(bytinput,intinputlen);
bytInput:= MSComm2.Input;
inputManage(bytInput, intinputlen);
GetDisplayText;
end;
 
加个判断,如果intInputLen = 0 就不处理
 
你忘了一种情况就是intinputlen = 0的情况,做程序一定要认真,个方面都要想到了
 
非常感谢,我是太大意了,谢谢大家帮忙!![:)]
 
后退
顶部