yepla75
Messages postés34Date d'inscriptionjeudi 19 octobre 2006StatutMembreDernière intervention13 juin 2007
-
15 nov. 2006 à 14:55
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
15 nov. 2006 à 20:52
Bonjour,
J'ai fait un programme en C / API Win32 ; pendant l'exécution, si je clicke sur la croix en haut à droite de la fenêtre principale (quitter), j'ai la fenêtre bien connue "This program is not responding...".
Connaissez-vous le pourquoi du comment ?
Même s'il s'agit d'une sortie "brutale", pourquoi réagit-il ainsi ?
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 15 nov. 2006 à 15:38
Pardon
En fait, cela arrive lors d'un traitement d'une certaine durée (nombreux calculs, boucles infinies,...) dans le même thread que celui de ton IHM
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 15 nov. 2006 à 15:36
S'il ne répond pas, laisse un message sur le répondeur!
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
yann_lo_san
Messages postés1137Date d'inscriptionlundi 17 novembre 2003StatutMembreDernière intervention23 janvier 201626 15 nov. 2006 à 15:45
Tu peux utiliser l'event WM_CLOSE dans wndProc et envoyer des SendMessage() à tes controles qui serait en train de boucler pour les débloquer. (ex listBox, comboBox, rtf ect...)
A mon avis c'est plutôt une opération de dessin qui te bloque.
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 15 nov. 2006 à 15:48
En fait ce que buno essaye de te dire , c'est qu'en général pour éviter de figer l'interface de ton programme et donc qu'il réagisse vite aux actions de l'utilisateur, on insére les codes longs en exécution dans des threads !
J'entends par codes longs des boucles à répétition avec de longs calculs, ou même des boucles infinies (pas si infinies que d'ailleurs normalement ).
Et donc si ton interface se fige c'est sûrement dû à ce que buno et moi-même t'avons expliqué.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Vous n’avez pas trouvé la réponse que vous recherchez ?