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
...全文
89 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
大家帮忙看看
  • 打赏
  • 举报
回复
发帖
控件
加入

1433

社区成员

VB 控件
社区管理员
  • 控件
申请成为版主
帖子事件
创建了帖子
2003-12-12 05:01
社区公告
暂无公告