La classe Timer du composant Active SubClass Hook & Timer permet de créer un Timer Windows sans utiliser de fenêtre. En standard Visual Basic nécessite l'utilisation d'une fenêtre pour intégrer le composant Timer standard. Cette classe est donc particulièrement utile si vous développez une DLL ActiveX nécessitant l'utilisation d'un Timer.

L'application de démonstration n'a en soit aucun intérêt. Il s'agit d'un éxécutable qui n'utilise aucune fenêtre. La procédure Sub Main() incrémente un compteur, un timer vient interrompre l'éxécution de l'application au bout de 1 seconde et présente la valeur actuelle du compteur.


ClassSample

Option Explicit

La classe Timer est une classe disposant d'un événement Timer() qui intervient au déclenchement du Timer. Il est nécessaire de déclarer la variable en utilisant la clause WithEvents.

Private WithEvents mTimer As ActiveSCHT.Timer

' Au déclenchement du timer
Private Sub mTimer_Timer()
  MsgBox t
  mTimer.Enabled = False
  Set mTimer = Nothing
  'Terminaison de l'application
  End
End Sub

La propriété Interval définit l'intervalle en milliseconde entre deux déclenchements du Timer. La propriété Enabled permet d'activer le Timer.

' Lancement du Timer
Public Sub TimerGo()
  mTimer.Interval = 1000
  mTimer.Enabled = True
End Sub

' A l'initialisation de l'instance
Private Sub Class_Initialize()
  Set mTimer = New ActiveSCHT.Timer
End Sub

' A la terminaison de l'instance
Private Sub Class_Terminate()
  Set mTimer = Nothing
End Sub

ModuleMain

Option Explicit Public c As New ClassSample Public t As Long Sub Main() c.TimerGo Do t = t + 1 DoEvents Loop Until False End Sub

Cette application de démonstration nécessite l'installation du composant suivant : Active SubClass Hook & Timer