我在 Delphi 7 中使用 TCommPortDriver 组件,它非常适合串行通信。
但在 Delphi 11 中,接收数据是“奇怪的”,例如:
波特率 19200,奇偶校验 1,数据位 8,hwflow 无
在德尔福 7 “22.02.22 08:25:38 02 11 45991883904 * 0.00”
在delphi 11“”中,
我下载了最后一个版本,然后我在 Delphi Alexandria 中安装了旧版本,我做了很多测试,结果总是一样的。
该过程在两个版本中是相同的,一个简单的例子:
procedure TForm1.SerialTarifadorReceiveData(Sender: TObject; DataPtr: Pointer;
DataSize: Cardinal);
var
s: string;
begin
s := StringOfChar( ' ', DataSize );
move( DataPtr^, system.pchar(s)^, DataSize );
ShowMessage(s);
end;
我相信问题出在 DataPtr 中。
请帮助我,谢谢,