78zerocool
Messages postés22Date d'inscriptionjeudi 13 janvier 2011StatutMembreDernière intervention20 juillet 2011 11 déc. 2011 à 22:43
ya encor plus simple tu cree une nouvelle form ...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 6 août 2008 à 21:10
de mémoire me semble que ce code était bel et bien utile sous XPSP1.
il l'est toujours (rappel : 'MSGBOX' bloque le thread de l'appli, pas 'MessageBox') sous Win2000 SP4
par contre en effet, sous win2003RS2 le MSGBOX classique ne bloque pas l'appli
(pas d'XPSP2 ou 3 à portée de main)
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 6 août 2008 à 20:55
moi aussi (j'attends la réponse)
cs_Golard
Messages postés7Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention23 septembre 2010 6 août 2008 à 12:40
"Essayes donc le code proposé. Dans VB6 (même sous XP), mettre une Form avec un Label, 2 boutons, et un Timer..."
Déjà fait avant mon premier commentaire.
J'ai compilé le code de econs sous Vb6 SP5 (Version 8988 VBA: Retail 6.0.8964 Forms3: 11.0.5601)
Sous XP SP2 : pas de blocage, ni par Command1, ni par Command2
Sous Vista SP1 : idem
"... et relis le 1er d'Alain Proviste"
C'est bien le timer de l'application dont la valeur est écrite dans le Label dont je parle.
" Aurais-je loupé quelquechose ? Oui."
Oui... mais quoi ????
Merci Us de ta réponse rapide. Peux-tu toi-même refaire le test?
Je reste pour l'instant interrogatif !!! Et j'attends ta réponse...
Amicalement,
Golard.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 6 août 2008 à 12:12
" Vrai ou faux ? "
Faux.
" Aurais-je loupé quelquechose ? "
Oui.
Essayes donc le code proposé. Dans VB6 (même sous XP), mettre une Form avec un Label, 2 boutons, et un Timer...
... et relis le 1er d'Alain Proviste, c'est peut-être là ta confusion...
Amicalement,
Us.
cs_Golard
Messages postés7Date d'inscriptionmardi 13 décembre 2005StatutMembreDernière intervention23 septembre 2010 6 août 2008 à 11:04
Salut à tous,
Je ravive un peu ces anciens commentaires avec celui-ci:
Si je ne me trompe pas, MsgBox NE BLOQUE PLUS L'APPLI sous XP.
En effet, sous XP (idem sous Vista) le timer de l'exemple fournit par econs n'ai pluis bloqué, quelque soit la méthode utilisée.
Vrai ou faux ? Aurais-je loupé quelquechose ?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 10 déc. 2006 à 19:01
Salut Econs,
Merci de cette function qui m'est très utile et de ta réponse dans le forum...
A+
10/10
Exploreur
amezghal
Messages postés385Date d'inscriptionlundi 27 février 2006StatutMembreDernière intervention21 août 20155 11 avril 2006 à 14:37
vous ne pensez pas que si en elmine l arret des processus en risque que le msgbox ne retourne rien
donc c en met
response=msgbox("test",vbokonly)
alors response devient nothing ?
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 1 nov. 2005 à 10:07
... et bien, pour moi, c'est 10/10 ! Cela enlève une limitation de VB de simple et élégante ! (et courte !) qui était quelques fois gênante...
Amicalement,
Us.
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 21 sept. 2005 à 21:23
ptetre à cause de lautre source du site qui elle passe part un autre thread
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 21 sept. 2005 à 16:50
Yep en effet autant pour moi...
Je sais pas pq j'avais en tete que c'etait dans un autre thread
Enfin bon le principe est le meme ;)
@+
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 21 sept. 2005 à 11:36
Pas du tout, MessageBox pas plus que nimporte quelle autre affichage de fenêtre ne crée de thread.
Il faut demander avant d'affirmer nimporte quoi. L'appel interne à DialogBoxParam avec 0 en fenêtre mère crée simplement une fenêtre non modale, absolument rien de plus.
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 21 sept. 2005 à 11:18
Yep "toute l'appli" dont tu parle c'est le thread principal de ton appli, la messageBox va elle ouvrir un deuxieme thread de maniere a tourner independament du reste de l'appli...
Ce qui a pour consequence que ton appli n'est pas stoppee en attendant que l'utilisateur ne clic sur la MessageBox, cela peut etre tres utilile dans certains cas mais dans la plupart des cas il est preferable d'utiliser une MessageBox ordinaire (dans le meme thread)
Bonne prog @+
ScSami
Messages postés1488Date d'inscriptionmercredi 5 février 2003StatutMembreDernière intervention 3 décembre 200724 21 sept. 2005 à 03:25
Comme moi p.ex.!
Ce que je pige pas c'est que ça ne fonctionne qu'avec un timer ou toute l'apli continue à tourner en attendant!?!?
Sinon, faudrait en faire un ptit OCX... D'ailleurs, franchement, faudrait un jour faire un "pack" d'OCX regroupant les quelques APIs les plus courantes un peu à la manière du framework .Net mais pour VB6 (histoire de préserver encore un peu notre tant aimé VB6 ;-)...
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 20 sept. 2005 à 11:46
Salut,
Eh je dirai que c'est du deja vu et revu....
M'enfin apparement y en a plusieurs qui ne l'avaientt jamais vu donc ;)
@+
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 19 sept. 2005 à 23:47
avec messagebox 0 on a une nouvel element dans la barre des taches de windows, ce qui est aussi un probleme à régler
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 19 sept. 2005 à 21:47
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 19 sept. 2005 à 19:59
On peut même dire que la seule chose incertaine avec un thread en VB est le moment du plantage mais plantage il finit par y avoir.
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 19 sept. 2005 à 19:36
Vu qu'implanter un thread en VB est périlleux et incertain,...
Aussi, l'exemple proposé ici bloque tout de même le code jusqu'à ce que l'utilisateur ferme la messagebox tout en ne bloquant pas l'entièreté du processus.
Via le thread, je suppose que rien n'était bloqué. Ce qui est le but d'un thread.
Donc, les 2 exemples ne sont pas vraiment comparables.
Guy
cs_max12
Messages postés1491Date d'inscriptiondimanche 19 novembre 2000StatutModérateurDernière intervention 7 juillet 2014 19 sept. 2005 à 19:20
C'est du déjà vu, mais celui que j'ai vu avant utilisait un thread :O
Mikaels35
Messages postés146Date d'inscriptiondimanche 23 janvier 2005StatutMembreDernière intervention17 novembre 20092 19 sept. 2005 à 17:19
Excellent, j'en avais assez de ces MSGBOX qui bloquent le programme en cours!
Neo.balastik
Messages postés796Date d'inscriptionjeudi 17 mai 2001StatutMembreDernière intervention 5 mai 20097 19 sept. 2005 à 16:39
Bien bien...
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 19 sept. 2005 à 15:20
oui, bien entendu. C'est un peu 'raccourci' la chose ;o)
cs_Alain Proviste
Messages postés908Date d'inscriptionjeudi 26 juillet 2001StatutModérateurDernière intervention 1 février 20152 19 sept. 2005 à 15:16
la fonction msgbox n'arrete pas tous les processus qui tournent, seulement celui de ton application, n'est-ce pas
11 déc. 2011 à 22:43
6 août 2008 à 21:10
il l'est toujours (rappel : 'MSGBOX' bloque le thread de l'appli, pas 'MessageBox') sous Win2000 SP4
par contre en effet, sous win2003RS2 le MSGBOX classique ne bloque pas l'appli
(pas d'XPSP2 ou 3 à portée de main)
6 août 2008 à 20:55
6 août 2008 à 12:40
Déjà fait avant mon premier commentaire.
J'ai compilé le code de econs sous Vb6 SP5 (Version 8988 VBA: Retail 6.0.8964 Forms3: 11.0.5601)
Sous XP SP2 : pas de blocage, ni par Command1, ni par Command2
Sous Vista SP1 : idem
"... et relis le 1er d'Alain Proviste"
C'est bien le timer de l'application dont la valeur est écrite dans le Label dont je parle.
" Aurais-je loupé quelquechose ? Oui."
Oui... mais quoi ????
Merci Us de ta réponse rapide. Peux-tu toi-même refaire le test?
Je reste pour l'instant interrogatif !!! Et j'attends ta réponse...
Amicalement,
Golard.
6 août 2008 à 12:12
Faux.
" Aurais-je loupé quelquechose ? "
Oui.
Essayes donc le code proposé. Dans VB6 (même sous XP), mettre une Form avec un Label, 2 boutons, et un Timer...
... et relis le 1er d'Alain Proviste, c'est peut-être là ta confusion...
Amicalement,
Us.
6 août 2008 à 11:04
Je ravive un peu ces anciens commentaires avec celui-ci:
Si je ne me trompe pas, MsgBox NE BLOQUE PLUS L'APPLI sous XP.
En effet, sous XP (idem sous Vista) le timer de l'exemple fournit par econs n'ai pluis bloqué, quelque soit la méthode utilisée.
Vrai ou faux ? Aurais-je loupé quelquechose ?
10 déc. 2006 à 19:01
Merci de cette function qui m'est très utile et de ta réponse dans le forum...
A+
10/10
Exploreur
11 avril 2006 à 14:37
donc c en met
response=msgbox("test",vbokonly)
alors response devient nothing ?
1 nov. 2005 à 10:07
Amicalement,
Us.
21 sept. 2005 à 21:23
21 sept. 2005 à 16:50
Je sais pas pq j'avais en tete que c'etait dans un autre thread
Enfin bon le principe est le meme ;)
@+
21 sept. 2005 à 11:36
Il faut demander avant d'affirmer nimporte quoi. L'appel interne à DialogBoxParam avec 0 en fenêtre mère crée simplement une fenêtre non modale, absolument rien de plus.
21 sept. 2005 à 11:18
Ce qui a pour consequence que ton appli n'est pas stoppee en attendant que l'utilisateur ne clic sur la MessageBox, cela peut etre tres utilile dans certains cas mais dans la plupart des cas il est preferable d'utiliser une MessageBox ordinaire (dans le meme thread)
Bonne prog @+
21 sept. 2005 à 03:25
Ce que je pige pas c'est que ça ne fonctionne qu'avec un timer ou toute l'apli continue à tourner en attendant!?!?
Sinon, faudrait en faire un ptit OCX... D'ailleurs, franchement, faudrait un jour faire un "pack" d'OCX regroupant les quelques APIs les plus courantes un peu à la manière du framework .Net mais pour VB6 (histoire de préserver encore un peu notre tant aimé VB6 ;-)...
20 sept. 2005 à 11:46
Eh je dirai que c'est du deja vu et revu....
M'enfin apparement y en a plusieurs qui ne l'avaientt jamais vu donc ;)
@+
19 sept. 2005 à 23:47
19 sept. 2005 à 21:47
MessageBox 0, "ah ouai...", "___", 32
PCPT
19 sept. 2005 à 19:59
19 sept. 2005 à 19:36
Aussi, l'exemple proposé ici bloque tout de même le code jusqu'à ce que l'utilisateur ferme la messagebox tout en ne bloquant pas l'entièreté du processus.
Via le thread, je suppose que rien n'était bloqué. Ce qui est le but d'un thread.
Donc, les 2 exemples ne sont pas vraiment comparables.
Guy
19 sept. 2005 à 19:20
19 sept. 2005 à 17:19
19 sept. 2005 à 16:39
19 sept. 2005 à 15:20
19 sept. 2005 à 15:16