触发器调用函数getReady定义如下,函数中应用Soap控件,但是当窗口frm的定时器TimeSetEvent调用getReady时,执行到
soapClient.MSSoapInit "http://192.168.1.144/GetDataFromZKEM.jws?wsdl"时会出现实时错误,调试了好久都不成,不知有哪位大虾可以帮忙看一下,谢谢!getReady(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, ByVal dw1 As Long, ByVal dw2 As Long)
 If Hour(Time) = frm2.Combo1.text And Minute(Time) = frm2.Combo2.text Then
  MsgBox Hour(Time) & ":" & Minute(Time)
  Dim dwEnrollNumber As Long
  Dim dwVerifyMode As Long
  Dim dwInOutMode As Long
  Dim timeStr As String
  Dim soapClient As New SoapClient30
  Dim j As Long
  Dim text As String
  soapClient.MSSoapInit "http://192.168.1.144/GetDataFromZKEM.jws?wsdl"
  If frm2.CZKEM1.GetGeneralLogDataStr(CInt("1"), dwEnrollNumber, dwVerifyMode, dwInOutMode, timeStr) Then
    frm2.StatusBar1.Panels(1).text = "数据下载中......"
    j = 0
    While frm2.CZKEM1.GetGeneralLogDataStr(CInt("1"), dwEnrollNumber, dwVerifyMode, dwInOutMode, timeStr)
      text = soapClient.GetData(j, dwEnrollNumber, timeStr, location, sensor)
      j = j + 1
      If (j = 1024) Then
        text = soapClient.SetData()
        j = 0
      End If
    Wend
    If (j < 1024) Then
     text = soapClient.SetData()
    End If
     frm2.StatusBar1.Panels(1).text = "数据下载完毕"
   End If
  End If
End Sub

解决方案 »

  1.   

    etReady(ByVal   uID   As   Long,   ByVal   uMsg   As   Long,   ByVal   dwUser   As   Long,   ByVal   dw1   As   Long,   ByVal   dw2   As   Long)TimeSetEvent.enable=false  If   Hour(Time)   =   frm2.Combo1.text   And   Minute(Time)   =   frm2.Combo2.text   Then
        MsgBox   Hour(Time)   &   ": "   &   Minute(Time)
        Dim   dwEnrollNumber   As   Long
        Dim   dwVerifyMode   As   Long
        Dim   dwInOutMode   As   Long
        Dim   timeStr   As   String
        Dim   soapClient   As   New   SoapClient30
        Dim   j   As   Long
        Dim   text   As   String
        soapClient.MSSoapInit   "http://192.168.1.144/GetDataFromZKEM.jws?wsdl "
        If   frm2.CZKEM1.GetGeneralLogDataStr(CInt( "1 "),   dwEnrollNumber,   dwVerifyMode,   dwInOutMode,   timeStr)   Then
            frm2.StatusBar1.Panels(1).text   =   "数据下载中...... "
            j   =   0
            While   frm2.CZKEM1.GetGeneralLogDataStr(CInt( "1 "),   dwEnrollNumber,   dwVerifyMode,   dwInOutMode,   timeStr)
                text   =   soapClient.GetData(j,   dwEnrollNumber,   timeStr,   location,   sensor)
                j   =   j   +   1
                If   (j   =   1024)   Then
                    text   =   soapClient.SetData()
                    j   =   0
                End   If
            Wend
            If   (j   <   1024)   Then
              text   =   soapClient.SetData()
            End   If
              frm2.StatusBar1.Panels(1).text   =   "数据下载完毕 "
          End   If
        End   IfTimeSetEvent.enable=trueEnd   Sub