Delphi XE 中的 VaComm
Posted
技术标签:
【中文标题】Delphi XE 中的 VaComm【英文标题】:VaComm in Delphi XE 【发布时间】:2015-09-09 15:08:05 【问题描述】:我想在我的 Delphi 程序中使用 Comport,我使用 como 发送数据效果很好,但问题在于接收数据。当它接收到数据时,系统应该调用过程 VaComm1RxChar,但它没有。这个过程永远不会运行。但即使我通过函数 VaComm1.ReadBufUsed 检查缓冲区中是否有一些字符,它也会返回一个值,所以一定有一些接收到的数据。
感谢您的帮助。
这是我的代码,它只包含两个:
procedure TForm2.VaComm1RxChar(Sender: TObject; Count: Integer);
var text: string;
begin
text:=Vacomm1.ReadText;
Memo1.Lines.Add(text);
ShowMessage('Some data received!');
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Vacomm1.WriteText('Hello');
Memo1.Lines.Add('Hello');
sleep(200);
end;
【问题讨论】:
几年前我在 com 上使用串行接口。我认为,没有推送机制。那时我不得不在超时的情况下轮询数据。 【参考方案1】:您确定收到了一些数据吗?您是否使用类似 Windows 终端的程序检查了正确的数据流?
端口打开了吗?
检查 Vacomm1.OnRXChar
事件属性是否与您的 VaComm1RxChar
方法链接
检查ceRxChar
是否包含在MonitorEvents
属性中
【讨论】:
MonitorEvents 属性可能缺少 ceRxChar 位。 是的,当我点击对象 VaComm1 时,我在设置中看到 ceRxChar 被选中。 谢谢,该事件已在属性中检查,但问题是它没有与 VaComm1RxChar 链接.. 已解决以上是关于Delphi XE 中的 VaComm的主要内容,如果未能解决你的问题,请参考以下文章