OVH Cloud OVH Cloud

Disjoindre 2 timers d'un meme programme. Est ce Possible ?

1 réponse
Avatar
Alex
Bonsoir,

J'aimerai savoir s'il est possible d'utiliser dans=20
un m=EAme programme, 2 timers en paralleles.

Ces 2 timers doivent lancer chacun un traitement=20
particulier a des intervalles diff=E9rents, et=20
independemment de leur resultats respectifs.

Si c'est possible,=20

"ce serais sympa de m'expliquer comment",

l=E0 je rame un peu je dois dire.

Merci d'avance pour tout.

Alex

1 réponse

Avatar
François Picalausa
"Alex" a écrit dans le message de
news:091501c3ad2d$189be7b0$
J'aimerai savoir s'il est possible d'utiliser dans
un même programme, 2 timers en paralleles.

Ces 2 timers doivent lancer chacun un traitement
particulier a des intervalles différents, et
independemment de leur resultats respectifs.

Si c'est possible,

"ce serais sympa de m'expliquer comment",

là je rame un peu je dois dire.



Bonjour/soir,

les ActiveX Exe sont faits pour ça.

Voici un exemple:

'Dans la classe par défaut, Class1:

Private Sub Class_Initialize()
Module1.StartTimer
End Sub

Private Sub Class_Terminate()
Module1.EndTimer
End Sub


'Dans un module standard, Module1
Option Explicit

Declare Function SetTimer Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long _
) _
As Long

Private Declare Function _
KillTimer _
Lib "user32" _
( _
ByVal hwnd As Long, _
ByVal nIDEvent As Long _
) _
As Long

Private TimerID As Long

Public Function StartTimer(Optional interval As Long = 1000)
If TimerID <> 0 Then EndTimer
TimerID = SetTimer(0, 0, interval, AddressOf TimerProc)
End Function

Sub TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long,
ByVal dwTime As Long)
Debug.Print dwTime
End Sub

Public Sub EndTimer()
KillTimer 0, TimerID
TimerID = 0
End Sub

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com