Problème lié à l'execution du Timer

ted10 Messages postés 5 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 1 mars 2010 - 25 févr. 2010 à 09:00
ted10 Messages postés 5 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 1 mars 2010 - 1 mars 2010 à 11:21
Bonjour! je reviens avec mon appli de tirage aléatoire simplifié.
Le concept: j'ai une feuille, deux labels, deux boutons(Start & Raz). Je charge manuellement au moins, 1 million de numéros dans une table NUMEROS constitué d'un champ ID(numeric) & un champ numero(numeric ou texte).Les numeros içi sont des numéros de mobiles (XXX XX XX)que je fais défilé dans l'un des labels grâce au timer en activant la touche enter(1ere frappe):les numéros défilent. En appuyant pr la 2e fois le 1er label qui me sert de rideau(en faisant défilé les numéros) doit disparaître pr faire apparaître le second label contenant le numéro gagnant: qu'est ce qui se passe? la 2e fois avant de faire disparaitre le rideau, je récupère un ID par un petit processus semi-aléatoire, puis j'attaque la table qui contient le million de numéro et affiche le numéro correspondant dans le 2e label et dans une grille.
Le souci, il y a 2 sec entre la disparition du rideau et l'apparition du numéro gagnant:conséquence, on visualise 2 numeros aulieu d'un.
NB: le timer ne s'arrete pas, et gère une petite table contenant une dizaine de numéros qui sert de rideau.

Merci.

2 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
25 févr. 2010 à 10:43
Salut
Pas compris grand chose à ton histoire de rideau ...
Si le traitement demandé par le 2ème clic est trop long, oui, un évènement Timer peut être exécuté encore plusieurs fois, c'est logique logique.
Pour éviter cela, tu peux stopper temporairement le Timer (.Enabled False) dès que tu cliques et le remettre en service (.Enabled True) à la fin de ton traitement.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
ted10 Messages postés 5 Date d'inscription samedi 17 mars 2007 Statut Membre Dernière intervention 1 mars 2010
1 mars 2010 à 11:21
bonjour Jack!

En effet, je l'ai fait ça marche, seulement je n'ai pas une raison logique: le pb ne se pose pas lorsque j'utilise une database access2003 alors que sur 2007 il ya ce laps de temps qui se fait sentir. En ce qui concerne mon rideau: c'est des numéros arbitraires que je fais tourner à l'ecran(ne concerne pas les nums qui seront tirés). Merci.
0