MSComm1.InputLen := 8;
  MSComm1.RThreshold := 8;
??

解决方案 »

  1.   

    procedure TForm1.MSCommComm(Sender: TObject);
    var
      StrComText : string;
      FPosition,iLoop: integer;
    begin
      if MSComm.PortOpen=False then
        exit;  StrComText:='';  while MSComm.InbufferCount <> 0 do
      begin
        StrComText := MSComm.input;    FPosition := pos(#13,StrComText);
        if FPosition = 0 then
        begin
          FReadData := FReadData + trim(StrComText);
          exit;
        end
        else
        begin
          FReadData := FReadData + trim(StrComText);
        end;
      end;
      ListBox1.Items.Add(FReadData) ;
      FReadData:='';
    end;