ASP组件的错误(附源码,在线等),高手指点
错误如下:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
CommCtr 错误 '800a005b'
未设置对象变量或 With block 变量
/commtest/commtest.asp,行14
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
源码如下:
Private WithEvents MSComm1 As MSCommLib.MSComm
Private WithEvents timer1 As Timer
Private response As String
Private Sub Class_Initialize()
timer1.Enabled = False
timer1.Interval = 5000
'设置comm口参数
MSComm1.Settings = "9600,N,8,1"
MSComm1.CommPort = 1
MSComm1.InputMode = comInputModeText
MSComm1.PortOpen = True
'输入缓冲区设为空
response = ""
End Sub
Private Sub Class_Terminate()
MSComm1.PortOpen = False
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive '收到数据时触发此事件
Dim data As String
data = MSComm1.Input '获得comm口输入数据
response = response + data '加入缓冲区
'判断数据结尾,关闭comm口以及接收定时器
If Right(data, 1) = Chr(13) Then
MSComm1.PortOpen = False
timer1.Enabled = False
End If
End Select
End Sub
Private Sub timer1_Timer()
timer1.Enabled = False
End Sub
Public Function SendReq(req As String) As String
'从comm口输出请求数据,开启接收定时器
MSComm1.Output = req
timer1.Enabled = True
'等待定时器超时
While timer1.Enabled
DoEvents
Wend
'返回接收到的数据,如果超时返回空
SendReq = response
End Function