Programme qui se fige

Résolu
cs_Paounet Messages postés 36 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 6 juin 2023 - 19 mai 2009 à 12:53
cs_Paounet Messages postés 36 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 6 juin 2023 - 19 mai 2009 à 15:01
Paounet
Comment dois-je réecrire mon programme qui fonctionne mais qui se bloque(fige) lorsque je clique par exemple sur l'explorateur de Windows ou autre...
(MonProg.exe ne réponds plus)
Message Evenement du Journal= MonProg.exe a cessé d'interagir avec Windows....

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 13:31
tu as juste à insérer des Application.DoEvents.

souris, clavier, evenement systeme, affichage, etc

un tas de sources de message existent, et permettent aux application de réagir.
windows en gère la file d'attente.

quand tu es dans une boucle, les messages continuent d'arriver.

quand ton appli est dispo, elle les gère. (tu as surement déjà experimenté la chose: tu tapes du texte, il apparait avec du retard car l'appli etait occupée)

Application.DoEvents dit à VB de traiter les messages en attente dans la file.

ainsi, l'application 'répond' et Windows est content: ton application n'est pas figée dans une boucle sans fin.


pas besoin de jouer au multi thread ici.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
19 mai 2009 à 13:13
ajoutes des Application.DoEvents dans les boucles de ton programme

ca lui donnera du temps pour aller s'occuper de Windows
cs_Paounet Messages postés 36 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 6 juin 2023 3
19 mai 2009 à 13:27
Paounet
Merci de ta réponse Renfield, mais je croyais qu'il fallait passer par des Threads, car je veux tout en me servant de mon explorateur Windows(par exemple), laisser mon programme s'exécuter normalement notamment dans ses boucles..
Si mon raisonnement est le bon, dis le moi et si tu le peux precises-mmoi comment changer mon programme initial pour incorporer la notion des threads si tel est le cas...
cs_Paounet Messages postés 36 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 6 juin 2023 3
19 mai 2009 à 15:01
Paounet
Merci pour tout..Bye !
Rejoignez-nous