Probleme execution appli

serialv2 Messages postés 41 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 13 août 2012 - 21 nov. 2009 à 12:59
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 nov. 2009 à 14:02
Bonjour,
Voila dans une appli qui enregistre des donnees +200000 avec un traitement dessus,j'ai mis sur ma form un label qui dit "X articles traites sur Y"
et je le remets a jour a chaque article traite,
le probleme c'est que le label ne fait rien en execution normal.

cela fonctionne bien quand je mets un point d'arret dans le code et que je fait f5,cela mets deja arrive ds une autre appli,mais je n'ai plus l'astuce.
si qq un passe par la et qu'il peut m'aider ca serai cool.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 nov. 2009 à 13:10
Salut
C'est dû au fait que ta boucle ne laisse pas le temps au système de gérer les affichages ou le clavier, notamment.
Il te suffit donc d'ajouter un DoEvents dans ta boucle.

Si tu dois traiter 200.000 données, je te conseille de ne pas faire de DoEvents à chaque tout, sinon la boucle sera fortement ralentie.
Utilise cette méthode classique qui ne lance ce DoEvents que tous les 30 tours :
If maVarBoucle Mod 30 = 0 Then DoEvents


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
cs_viviane44 Messages postés 38 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 25 mars 2014
23 nov. 2009 à 13:38
je pense que le mieux est de faire un

labelxx.refresh()

Viviane
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 nov. 2009 à 14:02
salut,

Jack -> MOD est un peu trop gourmand pour cet usage non?...

http://www.vbfrance.com/doc/faq.aspx#vb_doevents

viviane44 -> le refresh est déjà exécuté mais il n'a pas le temps d'avoir son rendu visuel

++

[hr]
0
Rejoignez-nous