procedure TForm1.MSComm1Comm(Sender: TObject);
var
in_variant:variant;
in_array:array of byte; s1:string;
begin
in_variant:=mscomm1.Input; //接收
in_array:=in_variant;
s1:=inttohex(in_array[0],2);
s1:=s1+inttohex(in_array[1],2); memo1.Lines.Text:=memo1.Lines.Text+s1+#13#10;
end;
这段程序一般是可以运行的。但我改变了单片机一方的设置后,系统报"Variant array index out of bounds"
var
in_variant:variant;
in_array:array of byte; s1:string;
begin
in_variant:=mscomm1.Input; //接收
in_array:=in_variant;
s1:=inttohex(in_array[0],2);
s1:=s1+inttohex(in_array[1],2); memo1.Lines.Text:=memo1.Lines.Text+s1+#13#10;
end;
这段程序一般是可以运行的。但我改变了单片机一方的设置后,系统报"Variant array index out of bounds"
没内容的话这里取不到,就会报out of bounds的错误了,不信的话你随便弄个字符串试试