[R] Sleep qui empeche fermeture Gui
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.
[R] Sleep qui empeche fermeture Gui
Comme mon ancient message supprimé ..
Avec un Sleep(1000) mon gui est innaccessible (Les bouttons sont gelés)
Vous m'avez dit un Sleep(50) arrange le problème, mais il gêne toujours le CPU et les clics se font avec un petit 'lag' quand même gênant.
Possible d'arranger cela ?
Avec un Sleep(1000) mon gui est innaccessible (Les bouttons sont gelés)
Vous m'avez dit un Sleep(50) arrange le problème, mais il gêne toujours le CPU et les clics se font avec un petit 'lag' quand même gênant.
Possible d'arranger cela ?
Modifié en dernier par networe le jeu. 29 juil. 2010 13:35, modifié 1 fois.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..]Sleep qui empeche fermeture Gui
il faut peut être alors passer en mode evenmentiel avec Opt("GUIOnEventMode", 1) et assigner une fonction par contrôle
(voir fichier d'aide sur GUIOnEventMode)
(voir fichier d'aide sur GUIOnEventMode)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Sleep qui empeche fermeture Gui
Je comprend vraiment pas cette fonction 
Re: [..] Sleep qui empeche fermeture Gui
J'essais AdlibEnable
J'ai mon script ..
Et ça marche bien mais :
Impossible de le faire marcher, Comment ca ??
J'ai mon script ..
Code : Tout sélectionner
While 1
...
Caliss() ; Jappel la fonction Caliss
WendCode : Tout sélectionner
While 1
...
AdlibEnable("Caliss",110)
Wend
Modifié en dernier par networe le mer. 28 juil. 2010 13:55, modifié 1 fois.
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Sleep qui empeche fermeture Gui
[edit par croisement de posts]
AdlibEnable ne doit pas être prise dans un while, puisque son but est de lancer cycliquement une fonction sans avoir à passer par une boucle
[ fin edit]
ok, pour le mode evenementiel , voici un copier coller du code d fichier d'aide pour analyse :
la philosophie est de remplacer le gros while 1 ... wend contenant l'ensemble des tests : si controle pressé est bouton1 alors faire ça, si bouton 2 faire ça, etc . par un
mais en contre partie, il faut enregistrer des callback (fonction) à chaque controle de la fenêtre pour que le script sache quoi exécuter lors de l'appui dessus
pour enregistrer ces fonction nous avons 2 "enregistreurs" :
GUISetOnEvent pour les boutons (maintenant on va plutôt parler d'évènement) de la fenêtre principal (croix de fermetre, agrnadissement, réduction ....)
et
GUICtrlSetOnEvent qui va gérer les contrôle de notre programme à proprement parlé (nos boutons, combobox, listview, etc)
ainsi dans l'exple de l'aide :
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") indique qu'à la croix ($GUI_EVENT_CLOSE , là faut lire l'aide pour les correspondence) on associe la fonction CLOSEClicked écrite plus bas dans le code
de même après on a :
GUICtrlSetOnEvent($okbutton, "OKButton")
qui associe au bouton créé une ligne plus haut "$okbutton" la fonction OKBOUTON écrite de même dans le code.
donc dans votre code, il faudrait associer à chacun de vos contrôle, la fonction lancée lorsque vous cliquez dessus
AdlibEnable ne doit pas être prise dans un while, puisque son but est de lancer cycliquement une fonction sans avoir à passer par une boucle
[ fin edit]
ok, pour le mode evenementiel , voici un copier coller du code d fichier d'aide pour analyse :
► Afficher le texte
Code : Tout sélectionner
while 1
sleep(1000)
wend
pour enregistrer ces fonction nous avons 2 "enregistreurs" :
GUISetOnEvent pour les boutons (maintenant on va plutôt parler d'évènement) de la fenêtre principal (croix de fermetre, agrnadissement, réduction ....)
et
GUICtrlSetOnEvent qui va gérer les contrôle de notre programme à proprement parlé (nos boutons, combobox, listview, etc)
ainsi dans l'exple de l'aide :
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") indique qu'à la croix ($GUI_EVENT_CLOSE , là faut lire l'aide pour les correspondence) on associe la fonction CLOSEClicked écrite plus bas dans le code
de même après on a :
GUICtrlSetOnEvent($okbutton, "OKButton")
qui associe au bouton créé une ligne plus haut "$okbutton" la fonction OKBOUTON écrite de même dans le code.
donc dans votre code, il faudrait associer à chacun de vos contrôle, la fonction lancée lorsque vous cliquez dessus
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Sleep qui empeche fermeture Gui
Donc sortir AdlibEnable du while 1 est fait :
Mais ma fonctionPrimaire n'est encore pas exécuté..Saufe quand je l'appel directement au début dans le while
...C'est compliquer...!:)
Code : Tout sélectionner
While 1
..
LancerAdlibEnable()
Wend
Func LancerAdlibEnable()
AdlibEnable("MaFonctionPrimaire",110)
EndFunc
Func MaFonctionPrimaire()
....
EndFuncCode : Tout sélectionner
While 1
..
MaFonctionPrimaire()
Wend
Modifié en dernier par networe le mer. 28 juil. 2010 13:55, modifié 1 fois.
- Tlem
- Site Admin

- Messages : 11824
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Sleep qui empeche fermeture Gui
@networe
Après 40 messages sur le forum, vous ne savez toujours pas utiliser les balises de code !!!
Merci de faire le nécessaire en corrigeant vos messages ci-dessus.
Pour mémoire : http://www.autoitscript.fr/forum/viewto ... 896#p24896
Après 40 messages sur le forum, vous ne savez toujours pas utiliser les balises de code !!!
Merci de faire le nécessaire en corrigeant vos messages ci-dessus.
Pour mémoire : http://www.autoitscript.fr/forum/viewto ... 896#p24896
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Sleep qui empeche fermeture Gui
Je suis comme ça :')
C'est édité, et un Up pour ma question
?
C'est édité, et un Up pour ma question
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [..] Sleep qui empeche fermeture Gui
là je pressent 2 problèmes de fonts qui ici ont fâcheusement tendence à se confondre :
- la gestion de la fenêtre d'après le 1er message, qui peut être améliorée (légèrement) par le passage en mode évènementiel
-une fonction appelée cycliquement via un adlibenable (qui est toujours inclus dans le while 1 au passage, puisque vous avez juste délocalisé l'appel via une fonction qui est dans la boucle ...)
pour éliminer les pistes de lag, vous allez :
- tester la réactivité en supprimant l'appel à la fonction lancée par le adlibenable. Si les troubles persistent alors il faut se lancer dans le mode évènementiel corps et ame.
-Sinon : il s'agit de la fonction lancée cycliquement. A ce moment, il faudra chercher à l'optimiser (essayer d'éviter les imbrications de boucles par exple) et au cas échéant compiler ce code à part pour le lancer via la commande "run" depuis votre script principal
- la gestion de la fenêtre d'après le 1er message, qui peut être améliorée (légèrement) par le passage en mode évènementiel
-une fonction appelée cycliquement via un adlibenable (qui est toujours inclus dans le while 1 au passage, puisque vous avez juste délocalisé l'appel via une fonction qui est dans la boucle ...)
pour éliminer les pistes de lag, vous allez :
- tester la réactivité en supprimant l'appel à la fonction lancée par le adlibenable. Si les troubles persistent alors il faut se lancer dans le mode évènementiel corps et ame.
-Sinon : il s'agit de la fonction lancée cycliquement. A ce moment, il faudra chercher à l'optimiser (essayer d'éviter les imbrications de boucles par exple) et au cas échéant compiler ce code à part pour le lancer via la commande "run" depuis votre script principal
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Re: [..] Sleep qui empeche fermeture Gui
Voila le problème est résolu avec adlibenable 
- sylvanie
- Niveau 11

- Messages : 1556
- Enregistré le : jeu. 26 juil. 2007 21:31
- Localisation : Paris
- Status : Hors ligne
Re: [R] Sleep qui empeche fermeture Gui
et bien tant mieux
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.

