delphi动态创建的TMSComm串口控件不起作用!

特兰 2006-08-05 09:13:51
我是用Create动态创建的TMSComm
然后将Comport和OnComm事件赋值
将句柄赋给一个var 变量
打开串口都很成功,而且访问串口的属性也都没有问题
就是串口输入的时候没有任何反应.
如果我直接将控件拖放到主界面就没有问题
郁闷,搞不明白!!!!!
...全文
291 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
特兰 2006-08-05
  • 打赏
  • 举报
回复
啊!
幸福啊!!
终于搞定了!!!
衷心感谢QQgenie(妖魔鬼怪) !!!

就是
Mscomm1.RThreshold :=1; // 每次接收到字符即产生OnComm事件
特兰 2006-08-05
  • 打赏
  • 举报
回复
非常感谢,我试试!
QQgenie 2006-08-05
  • 打赏
  • 举报
回复
MsComm1.OnComm:=ComGetData; //加上

“大写空格”要去掉,呵呵
QQgenie 2006-08-05
  • 打赏
  • 举报
回复
procedure TForm1.FormCreate(Sender: TObject);
var
Mscomm1:TMSComm;
begin
Mscomm1:=TMSComm.Create();
Mscomm1.InBufferCount :=0; // 清空接收缓冲区
Mscomm1.InputLen :=0; // Input读取整个缓冲区内容
Mscomm1.RThreshold :=1; // 每次接收到字符即产生OnComm事件
end;

procedure TForm1.ComGetData(Sender:TObject);
begin
if (sender is TMSComm) then
if (sender is TMSComm).CommEvent = 2 then
Memo1.text:=Memo1.Text+(sender is TMSComm).Input;
end;
特兰 2006-08-05
  • 打赏
  • 举报
回复
如何指明?
因为要做到动态创建,无法指定,我将ComGetData(sender:TObject)
中的Sender转为TMSComm(Sender)
QQgenie 2006-08-05
  • 打赏
  • 举报
回复
Com口可以发送数据,但是无法响应我赋给OnComm事件的函数!
MsComm1.OnComm:=ComGetData;
我把ComGetData申明为Public
----------------------------------------
你的ComGetData中,有指明是从MsComm1接收吗?
特兰 2006-08-05
  • 打赏
  • 举报
回复
Com口可以发送数据,但是无法响应我赋给OnComm事件的函数!
MsComm1.OnComm:=ComGetData;
我把ComGetData申明为Public
特兰 2006-08-05
  • 打赏
  • 举报
回复
Com口可以发送数据,但是无法响应我赋给OnComm事件的函数!
MsComm1.OnComm:=ComGetData;
我把ComGetData申明为Public
特兰 2006-08-05
  • 打赏
  • 举报
回复
恳求大侠帮帮忙!!

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧