Bonjour.
J'ai réalisé un petit script de 200 lignes intitulé Bob 1.0
Bob 1.0 est une interface de commandes vocales qui réagit aux commandes donnée vocalement ou en tapant dans le champs
texte manuellement une commande reconnue.
Mon problème est ceci : La fonction associée à $GUI_EVENT_CLOSE ne s'exécute pas. ( GuiOnEventMode est bien à 1 dans les options )
Pourtant, en regardant l'icône de la barre des tâches (avec TrayIconDebug mis à 1 ), le script se trouve bien à la bonne place, c'est à dire dans la
boucle principale du script .
Le script est entièrement fonctionnel et je pourrais aisément contourner le problème en ajoutant une commande vocale/textuelle pour quitter le
script étant donné que je sais le script réactif aux commandes. Cependant, je ne souhaite pas contourner le problème, je souhaite comprendre
ce qui peut le poser. Apparemment, il n'y a aucune raison pour que cela arrive, puisque comme mentionné plus haut, Bob 1.0 est bien
dans sa boucle principale et n'est pas occupé ailleurs lorsque je tente de quitter l'application.
Comme le script fait 200 lignes et nécessite un fichier *.ini, je le joins ci-bas
Sinon, si vous voulez seulement y jeter un coup d'oeil, voici le lien sur PasteBin
Le script est bien à la ligne 55 (si vous regardez sur pastebin) lorsque j'essaie de fermer l'application mais elle ne réagit pas.
Une idée ?
[R] $GUI_EVENT_CLOSE ne fonctionne pas ...
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
[R] $GUI_EVENT_CLOSE ne fonctionne pas ...
Modifié en dernier par SagePourpre le sam. 22 août 2009 03:57, modifié 1 fois.
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [...] $GUI_EVENT_CLOSE ne fonctionne pas ...
C'est bizarre, chez moi ça a l'air de marcher : la fonction "quit" est bien exécutée quand j'appuie sur la touche "Echap", et le script se ferme. Ou alors j'ai dû mal comprendre votre message.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
-
SagePourpre
- Niveau 7

- Messages : 442
- Enregistré le : dim. 06 juil. 2008 09:11
- Status : Hors ligne
Re: [...] $GUI_EVENT_CLOSE ne fonctionne pas ...
orax a écrit :C'est bizarre, chez moi ça a l'air de marcher : la fonction "quit" est bien exécutée quand j'appuie sur la touche "Echap", et le script se ferme. Ou alors j'ai dû mal comprendre votre message.
Effectivement, en appuyant sur "Echap" en étant dans l'input, ça fonctionne bien.
Par contre, en tentant de fermer la gui avec le bouton "fermer" par défaut en haut à droite, la gui ne se ferme pas.
Ta réponse m'a cependant permis de trouver le problème.
Comme la fonction quit se déclenche dans l'input après un appui sur "Echap" mais pas le bouton, je suis retourné voir du côté de mon GuiCreate.
Exemple de Gui "défectueuse"
Code : Tout sélectionner
#include<GuiConstantsEx.au3>
Opt("GuiOnEventMode",1)
GUICreate("",Default,Default,Default,Default,"")
GUISetOnEvent($GUI_EVENT_CLOSE,"quit")
GUISetState()
While 1
Sleep(100)
WEnd
Func quit()
Exit
EndFunc
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
plus belle vue du haut de son Pouf = )
