Bonjour à tous,
dans un programme vb6 j'ai un timer qui ce déclenche à cause de plusieurs fonctions. est ce qu'il y a un moyen pour savoir par quelle fonction mon timer est déclenché ?
Merci.![]()





Bonjour à tous,
dans un programme vb6 j'ai un timer qui ce déclenche à cause de plusieurs fonctions. est ce qu'il y a un moyen pour savoir par quelle fonction mon timer est déclenché ?
Merci.![]()

CTRL + F
.Enabled = False
Voila je pense que cela devrée paitre taider ^^
Cordialement HuBCoderS





enabeled = false ca permet d'areter le timer mais ce que je veux c'est savoir la fonction qui déclencher le timer

.Enabled = True
Alor non ?
Aucune fonction ne déclenche un timer. Il se declenche tout seul à intervalles réguliers . la fréquence de déclenchement est donnée par la propriété Interval et s'exprime en millième de seconde





oui mais normalement un timer se déclenche quand .ENABLED = True n'est ce pas ??

Oui sof si le timer et deja activer dans la form





est ce que tu peux expliquer davantage ??
Je pense que tu veux utiliser ton timer en chien de garde. Donc tu as une action qui met ton timer en marche avec :
Timer.enabled = true
et quand ton Timer arrive à échéance, tu veux savoir qui l'a lancé ? Impossible si la tache qui l'a lancé n'a pas placé un sémaphore dans une variable global pour dire que c'est elle la coupable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Dim FlagGlobal% Function TotoA() Timer1.enabled = true FlagGlobal%= FlagGlobal% or 1 End Function Function TotoB() Timer1.enabled = true FlagGlobal%= FlagGlobal% or 2 End Function Private Sub Timer1_Timer() if FlagGlobal% and 1 then ...... gestion origine TotoA if FlagGlobal% and 2 then ...... gestion origine TotoB if FlagGlobal% and 4 then ...... gestion origine TotoC FlagGlobal% =0 Timer1.enabled = False End Sub
Essaie de mettre un
dans chaque procédure évènementielle qui allume le timer. Tu remplace monControle.Name par le nom de la procédure ou de la fonction si c'est le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Debug.Print "C'est moi, " & monControle.Name
Tu mets un point d'arrêt, tu ouvre la fenêtre d'exécution (dans le menu Affichage, il me semble), tu démarre l'application (F5) et une fois arrivé sur le point d'arrêt, tu continue une ligne de code à la fois (F8). Tu devrais voir apparaitre tes messages dans la fenêtre d'exécution...
je simplifie un peu la solution de DAUDET78
commence par déclarer une variable (temoin) globale (dans un module ou dans les declarations generales), cette variable servira comme témoin qui identifiera la fonction ou levenement qui a déclenché ton timer
là ou tu metajoute
Code : Sélectionner tout - Visualiser dans une fenêtre à part tontimer.enabled=truedans ton évènement tontimer_timer effectue des tests sur la valeur de ta variable témoin
Code : Sélectionner tout - Visualiser dans une fenêtre à part temoin="UneValeurDifferenteDansChaqueAppel"
En la détériorant et en n'étant plus opérationnel !
Il faut une variable Integer ( FlagGlobal% dans mon exemple) et chaque machin qui lance le timer doit positionner SON bit pour indiquer son action sans toucher à ceux des autres .......commence par déclarer une variable (temoin) globale (dans un module ou dans les declarations generales), cette variable servira comme témoin qui identifiera la fonction ou levenement qui a déclenché ton timer
je m'excuse cher DAUDET78 pour mon incrustation mais lobjectif de mon intervention avait pour seul souci la clarification. expliquer le principe ni plus ni moins
je ne pense pas, c tout à fait opérationnel. mais je suis d'accord que l'utilisation d'un entier (integer ou encore byte) soit plus abouti (mais moins claire pour un débutant)en n'étant plus opérationnel !
j'ajouterai qu'on peut aussi utiliser la propriété tag du contrôle timer pour stoker tes informations sur le déclencheur, sans avoir besoin de déclarer une quelconque variable
pour resumer ferarkan tu a ici deux ou trois façon de faire avec un meme principe, à toi de choisir celle qui te convient
Code : Sélectionner tout - Visualiser dans une fenêtre à part tontimer.tag="uneCertaineValeur"
Au cas où cette discussion aurait un quelconque rapport avec celle-ci, ce serait possible de cliquer surou de joindre les deux de manière à ce qu'on arrête de la lire pour rien...
merci.
Note : avisé par MP.
zaza





non ça n'a rien à voir avec cette discussion
Partager