mscomm控件使用(非常简单)oncomm事件不执行

icedut 2003-12-12 05:01:03
我写的代码里面 ONComm事件怎么也不执行
不知道为什么
Private Sub Command2_Click()
i = i + 1
MSComm1.Output = "!0R" & Chr$(13)
Dim A As String
Delay_Time (100)
A = MSComm1.Input
Debug.Print Trim(A)
End Sub
我做了一个按钮,可以看到返回值
可是没有执行ONComm

下面是我的mscomm的属性设置
Private Sub Mscom_Initial()
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeText
MSComm1.DTREnable = True
MSComm1.Handshaking = Handshaking
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 0 
MSComm1.PortOpen = True
Exit Sub

End Sub
...全文
126 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
icedut 2003-12-15
  • 打赏
  • 举报
回复
谢谢大家
MSComm1.RThreshold=1
这样就好了
NewHand11111 2003-12-13
  • 打赏
  • 举报
回复
就ok了。
Private Sub Mscom_Initial()
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeText
MSComm1.DTREnable = True
MSComm1.Handshaking = Handshaking
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputLen = 0 
MSComm1.PortOpen = True
MSComm1.RThreshold=1 '''''''''''''''''''''需要加的语句。
End Sub

lizfhn 2003-12-12
  • 打赏
  • 举报
回复
up
zt31 2003-12-12
  • 打赏
  • 举报
回复
RThreshold=0,则不会触发oncomm事件;否则,就会触发。
flyingscv 2003-12-12
  • 打赏
  • 举报
回复
我不太清楚了
说得不一定对,仅供参考

1、MSComm1.Handshaking = comRTS
2、问题应该在这儿
ONComm不推荐使用(我的理解就是别用),你应该这么做
Private Sub Timer1_Timer()
'用于判断是否接收到新信息(比如电话打入等)
Dim NewString As String
If MSComm1.InBufferCount > 0 Then
DoEvents
NewString = MSComm1.Input
End If
End Sub
icedut 2003-12-12
  • 打赏
  • 举报
回复
大家帮忙看看

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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