本人是刚刚学习VB的菜鸟,目前正在做的是一台设备的中文软件。运用到VB中的MSCOMM控件。
问题是,当源代码如下是,能够正确接受到设备的数据:
Private Sub Form_Load()
MSComm1.PortOpen = True
Text1.Text = ""
End SubPrivate Sub Timer1_Timer()
If MSComm1.InBufferCount > 0 Then
MSComm1.Output = Chr(6) 
Text1.Text = Text1.Text + Trim(MSComm1.Input)
End If
End Sub从一本书上的例子看到的窗体的加载事件后将源代码改为Private Sub Form_Load()
ACK = Chr(6)
MSComm1.CommPort = 1
MSComm1.PortOpen = True
Text1.Text = ""
End SubPrivate Sub Timer1_Timer()
If MSComm1.InBufferCount > 0 Then
MSComm1.Output = ACK  
Text1.Text = Text1.Text + Trim(MSComm1.Input)
End If
End Sub报告的错误是:
“实时错误,380 ,无效的属性植”。不知道错误出在哪里了?

解决方案 »

  1.   

    谢谢你!变成黄色的是MSComm1.Output = ACK,我没有说清楚吧。如果我没有从设备上传输数据的话,不会出现错误报告,一旦传输了,就会出现错误了!
    谢谢。
      

  2.   

    “ACK”是ASCII码里值=06h的控制码,在通信场合表示“确认”。
    你原来的代码是对的,人家的也代码是对的。
    只是要申明 Const ACK=06H 才可以用。
      

  3.   

    这也是vb中经常用的很多都得类似Const ACK=06H
      

  4.   

    楼上的 danielinbiti(金) ,谢谢你。你的说明不太对!下面的我还要上机论证一下!谢谢大家!