I have the following code:
Code:'CTimer.cls Option Explicit Event Timer() Private WithEvents mTimer As Timer Private intCount As Integer Public Property Let Interval(ByVal intInterval As Integer) mTimer.Interval = intInterval End Property Public Property Get Interval() As Integer Interval = intInterval End Property Private Sub Class_Initialize() mTimer.Enabled = True Debug.Print "Initialized..." End Sub Private Sub mTimer_Timer() intCount = intCount + 1 RaiseEvent Timer End Sub Public Sub Count() Debug.Print intCount End SubNow, what im trying to do is basically encapsulate the timer control inside a class, with a few extra properties.Code:'Form1 Option Explicit Private WithEvents mTimerObj As CTimer Private Sub Form_Load() Set mTimerObj = New CTimer End Sub Private Sub mTimerObj_Timer() Debug.Print "Timer Event!" End Sub Private Sub Form_Unload(Cancel As Integer) Set mTimerObj = Nothing End Sub
When i run the above code, i get an error when the Class_Initialize() sub runs, saying "Object variable or With Block variable Not Set". Any ideas?
I want to do this without building a separate OCX. I have never really looked into ActivX before. Can anyone point me in the right direction?
Thanks in advance
Laterz





Reply With Quote