Delphi Comport не получает полные данные

У меня есть этот код:

procedure Tfrm_main.cport_scanningRxChar(Sender: TObject; Count: Integer);
begin
  cport_scanning.ReadStr(data, Count);
  memo3.Text := data;
end;

Фактический результат:

memo3.text := M000000;

Затем он изменился на:

memo3.text := 021111D;

Ожидаемый результат:

memo3.text := M000000021111D;

1 ответ

В будущем это поможет указать, какой компонент вы используете, тем более что TComPort не поставляется с Delphi.

Ответ в том, что OnRxChar можно вызвать до того, как все данные будут получены. Ваш код должен читать:

procedure Tfrm_main.cport_scanningRxChar(Sender: TObject; Count: Integer);
begin
  cport_scanning.ReadStr(data, Count);
  memo3.Text := memo3.Text + data;
end;
Другие вопросы по тегам