Active EXE(commTrial.exe)
有一个窗体frm,有一个类clsComm在窗体上有一个MSComm控件用来发送串口数据,以下是类中的具体代码:
----------------------------------
Option ExplicitPrivate frmComm As frm
Private ctlMSComm As MSComm
Public Event CommReturn(bFlag As Boolean)Private Sub Class_Initialize()
Set frmComm = New frm
'引用窗体的实例,只是为了使用其上的MSCOMM控件
Load frmComm
Set ctlMSComm = frmComm.MSComm1
End SubPrivate Sub Class_Terminate()
Set ctlMSComm = Nothing
Unload frmComm
Set frmComm = Nothing
End Sub''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function SendData() As Boolean
On Error GoTo ErrL: Err.Clear
Dim btSend() As Byte
ReDim btSend(5)
btSend(0) = 1
btSend(1) = 1
btSend(2) = 1
btSend(3) = 0
btSend(4) = &H51
btSend(5) = &H88
'''发送数据是我公司的电子产品的串口通讯协议
ctlMSComm.OutBufferCount = 0
ctlMSComm.InBufferCount = 0
'''
ctlMSComm.Output = btSend
'''
Dim t As Single
t = Timer
Do While Timer - t < 0.1
DoEvents
Loop
'''
If ctlMSComm.InBufferCount = 0 Then
RaiseEvent CommReturn(False)
Else
RaiseEvent CommReturn(True)
End If
Exit Function
ErrL:
SendData = False
End Function-------------------------------------------------------------测试工程Test.vbp,窗体上只有一个按钮控件
代码如下:
--------------------------------------------------------------
Dim WithEvents clsTest As clsCommPrivate Sub clsTest_CommReturn(bFlag As Boolean)
If bFlag Then
MsgBox "接受数据正确!", vbInformation
Else
MsgBox "无接受数据", vbCritical
End If
End SubPrivate Sub Command1_Click()
If Not clsTest.SendData Then
MsgBox "发送数据发生错误!", vbCritical
End If
End SubPrivate Sub Form_Load()
Set clsTest = New clsComm
End SubPrivate Sub Form_Unload(Cancel As Integer)
Set clsTest = Nothing
End Sub
--------------------------------------------------------------
刚刚开始设计ActiveX EXE的内容,请各路大哥指教小弟一下。
有一个窗体frm,有一个类clsComm在窗体上有一个MSComm控件用来发送串口数据,以下是类中的具体代码:
----------------------------------
Option ExplicitPrivate frmComm As frm
Private ctlMSComm As MSComm
Public Event CommReturn(bFlag As Boolean)Private Sub Class_Initialize()
Set frmComm = New frm
'引用窗体的实例,只是为了使用其上的MSCOMM控件
Load frmComm
Set ctlMSComm = frmComm.MSComm1
End SubPrivate Sub Class_Terminate()
Set ctlMSComm = Nothing
Unload frmComm
Set frmComm = Nothing
End Sub''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function SendData() As Boolean
On Error GoTo ErrL: Err.Clear
Dim btSend() As Byte
ReDim btSend(5)
btSend(0) = 1
btSend(1) = 1
btSend(2) = 1
btSend(3) = 0
btSend(4) = &H51
btSend(5) = &H88
'''发送数据是我公司的电子产品的串口通讯协议
ctlMSComm.OutBufferCount = 0
ctlMSComm.InBufferCount = 0
'''
ctlMSComm.Output = btSend
'''
Dim t As Single
t = Timer
Do While Timer - t < 0.1
DoEvents
Loop
'''
If ctlMSComm.InBufferCount = 0 Then
RaiseEvent CommReturn(False)
Else
RaiseEvent CommReturn(True)
End If
Exit Function
ErrL:
SendData = False
End Function-------------------------------------------------------------测试工程Test.vbp,窗体上只有一个按钮控件
代码如下:
--------------------------------------------------------------
Dim WithEvents clsTest As clsCommPrivate Sub clsTest_CommReturn(bFlag As Boolean)
If bFlag Then
MsgBox "接受数据正确!", vbInformation
Else
MsgBox "无接受数据", vbCritical
End If
End SubPrivate Sub Command1_Click()
If Not clsTest.SendData Then
MsgBox "发送数据发生错误!", vbCritical
End If
End SubPrivate Sub Form_Load()
Set clsTest = New clsComm
End SubPrivate Sub Form_Unload(Cancel As Integer)
Set clsTest = Nothing
End Sub
--------------------------------------------------------------
刚刚开始设计ActiveX EXE的内容,请各路大哥指教小弟一下。
解决方案 »
- 如何屏蔽webbrowser的html被修改后自动弹出的保存对话框!
- 如何在combox显示数据?
- 100分求[SQL数据库的应用软件如何在安装时一起装好(调试好数据库)和ODBC。。。。
- 将AVI文件的音频解码转换成mp3格式,它的文件头会不会变化?
- 求“袁飞”的for vb6 的菜单控件
- 谁能告诉我哪有连接dbf表的数据库引擎
- 我有一个程序,可以用findwindow找到它的句柄如何分正常终止它的运行呢.?
- 菜鸟问题(在线)
- 会使用ACTIVE REPORT的请进!
- 如何控制打印,,,难难难
- 谁用过Microsoft Speech SDK 5.1?语音方面的库
- 我vb从sql server 7取值(是中文)怎么是乱码 要怎么转换 才可正常显示
仅仅引用Form提供实现的公共方法就行了。