Continuer l'exécution d'un programme

Conradd Messages postés 37 Date d'inscription vendredi 3 décembre 2004 Statut Membre Dernière intervention 17 septembre 2007 - 26 juil. 2005 à 15:33
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 - 26 juil. 2005 à 19:31
Bonjour à tous,



Je travaille en VB6.0 sur un programme qui commence à mettre beaucoup de temps à s'exécuter.



Je voudrais afficher un form avec un message d'attente, histoire de
faire patienter. Mais quand je load le form d'attente, l'exécution du
programme s'arrête alors qu'il ne faudrait pas.



Y-a-t'il un moyen de pallier à ce problème ?



Merci d'avance,

2 réponses

cs_hassen Messages postés 338 Date d'inscription mardi 28 janvier 2003 Statut Membre Dernière intervention 4 novembre 2008
26 juil. 2005 à 17:01
bonjour,
le probleme quand tu execute une boucle c'est que le programme n'execute plus les evenement relatif au control il laisse ca a la fin de la boucle. par exemple il ne rafraichi pas l'affichage d'une feuille.la commande DoEvents permet le traitement des evenements lors de son appel. quoi que DoEvents a aussi un inconvenient c qu'elle ralentit un peut le traitement.

voici du code qui peut t'aider
t'a deux feuille form1 et frmAttente
dans l'evenement load de form1 (la feuille de démarrage) tu ecrit:

Private Sub Form_Load()
frmAttente.Show
DoEvents
For i = 1 To 100000222
Next i
end sub

Hassen TUNISIE
0
Zlub Messages postés 809 Date d'inscription mercredi 11 octobre 2000 Statut Membre Dernière intervention 29 septembre 2010 9
26 juil. 2005 à 19:31
Salut,

Pour le DoEvents, tu peux améliorer avec

Private Declare Function GetInputState Lib "user32" () As Long



et du coups



If GetInputState Then DoEvents


Conradd, Tu pourrais poster comment tu fais pour charger ta form d'attente ?

++

Zlub
0