CTimeout.cls
上传用户:nicktai
上传日期:2010-01-26
资源大小:40k
文件大小:2k
源码类别:

Ftp服务器

开发平台:

Visual Basic

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "CTimeout"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
  15. Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
  16. Private m_lngTimerID As Long
  17. Private m_intTimeoutValue As Integer
  18. '
  19. Public Sub StartTimer()
  20.     
  21.     If m_lngTimerID > 0 Then
  22.         KillTimer 0, m_lngTimerID
  23.     End If
  24.     MFtpSupport.p_intCounter = 0
  25.     m_lngTimerID = SetTimer(0, 0, 1000, AddressOf MFtpSupport.TimerProc)
  26. End Sub
  27. Public Sub StopTimer()
  28.     MFtpSupport.p_intCounter = 0
  29.     KillTimer 0, m_lngTimerID
  30. End Sub
  31. Public Property Let TimeoutValue(NewValue As Integer)
  32.     m_intTimeoutValue = NewValue
  33. End Property
  34. Public Property Get TimeoutValue() As Integer
  35.     TimeoutValue = m_intTimeoutValue
  36. End Property
  37. Public Property Get Timeout() As Boolean
  38.     If MFtpSupport.p_intCounter > m_intTimeoutValue Then
  39.         Timeout = True
  40.         Call StopTimer
  41.     Else
  42.         Timeout = False
  43.     End If
  44.     
  45. End Property
  46. Public Sub Reset()
  47.     MFtpSupport.p_intCounter = 0
  48. End Sub
  49. Private Sub Class_Terminate()
  50.     Call StopTimer
  51. End Sub