[R] Menu: Bug ou erreur de coding ?

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
megaten
Niveau 2
Niveau 2
Messages : 17
Enregistré le : jeu. 05 déc. 2013 17:01
Status : Hors ligne

[R] Menu: Bug ou erreur de coding ?

#1

Message par megaten »

Bonsoir,
Me revoilà avec mon problème de menu. J'ai dépouillé le code pour mettre en relief l'erreur.
L'exemple qui suit fonctionne.
Si j'ajoute une MsgBox dans le traitement ( en le décommentant dans mon script ) je n'arrive plus à détecter les
messages du menu.
Donc en conclusion un bug ou une erreur de coding.?
Merci de vos lumières! :?:
► Afficher le texte
Modifié en dernier par megaten le jeu. 12 déc. 2013 16:00, modifié 1 fois.
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Menu: Bug ou erreur de coding ?

#2

Message par TT22 »

C'est normal, la fonction MsgBox est une fonction bloquante. Autrement dit, elle arrête le script tant qu'elle n'est pas fermée. Ce qui fait que ta boucle ne se répète plus.
Ce que je te conseille, c'est d'utiliser des fonctions non bloquantes comme ConsoleWrite si tu fait du débogage ou SplashText* si tu souhaites diffuser le script.

Exemple avec ConsoleWrite :
► Afficher le texte
Exemple avec SplashText :
► Afficher le texte
Cordialement,
TT22
megaten
Niveau 2
Niveau 2
Messages : 17
Enregistré le : jeu. 05 déc. 2013 17:01
Status : Hors ligne

Re: [..] Menu: Bug ou erreur de coding ?

#3

Message par megaten »

Merci pour cette explication et tes exemples.
Mais j'ai tout de même un gout d'inachevé!!

Je te cite:
> elle arrête le script tant qu'elle n'est pas fermée.
Donc elle devrait où ne devrait pas reprendre après la réponse où l'écoulement du délai imparti, selon la conception du langage de script? Où ?? On doit sortir du While/Wend mais on boucle où on wait ailleurs?

>Ce qui fait que ta boucle ne se répète plus.
Là je ne comprend plus la logique du produit, car si l'on sort de la boucle on doit bien atterrir quelque part?

Par ailleurs selon les tests on passe dans des Select/Endselect qui affiche des MsgBox, qui elles ne provoquent pas le même effet.

Bon je te l'accorde je pinaille, mais j'aimerais bien saisir le fonctionnement de ce code.
Aurais-tu un pointeur vers une doc traitant ce type de détail?

Merci beaucoup de ton aide, je pars en recherche. :)
Meg
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Menu: Bug ou erreur de coding ?

#4

Message par mikell »

La msgbox s'exécute en permanence dans la boucle While, pour que le clic sur le trayitem fonctionne faudrait le faire pendant le millionième de seconde entre la fermeture de la msgbox et le début du sleep(100) ^^
Mais si tu veux que le message de ce clic soit enregistré pour être exécuté à la fermeture de la msgbox, faut passer en mode évènementiel
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
megaten
Niveau 2
Niveau 2
Messages : 17
Enregistré le : jeu. 05 déc. 2013 17:01
Status : Hors ligne

Re: [R] Menu: Bug ou erreur de coding ?

#5

Message par megaten »

oK Merci. :D

J'ai parcouru pas mal de dox et de rapport d'expérience, et je suis arrivé à ta conclusion.

Je vais faire avec;

Meg
Répondre