Author |
Topic: DEV fonction RUN (Read 922 times) |
|
phc
Board Newbie
Posts: 6
|
Bonsoir, Je teste la fonction Run() qui appelle un script à l'intérieur d'un script parent. Je trouve que Run() appelle deux fois le script. Est-ce à cause d'une erreur de ma part ? Merci. Cordialement. Je joins un exemple extrêmement simple
|
|
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2497
|
|
Re: DEV fonction RUN
« Reply #1 on: Jan 20th, 2014, 11:28am » |
Quote | Modify
|
Bonjour Aucun souci avec votre exmple Ha 9.6.3i W7/32
|
« Last Edit: Jan 20th, 2014, 11:29am by Geo » |
offline |
|
|
|
bubu42
Board Master
Gender:
Posts: 10514
|
|
Re: DEV fonction RUN
« Reply #2 on: Jan 20th, 2014, 12:24pm » |
Quote | Modify
|
Testé et pas de souci non plus. A mon avis, c'est dans le programme appelant qu'il doit y avoir une sorte de boucle ou au moins un double appel à une fonction ou une routine.
|
|
offline |
Harmony Assistant - Ubuntu + Wine et Windows XP sur machine virtuelle. VS, OMeR, PDF2M
|
|
|
phc
Board Newbie
Posts: 6
|
|
Re: DEV fonction RUN
« Reply #3 on: Jan 21st, 2014, 6:36am » |
Quote | Modify
|
Je vous remercie pour votre intervention. Je viens de trouver la réponse : Lors du lancement direct d'un script avec fenêtre de dialogue, l'action sur Cancel ou sur Ok est implicite : le dialogue attaché se ferme ainsi que le script. Si vous utilisez Run pour lancer le script, les fermetures ne sont plus implicites. Il faut donc fermer, par programme, le dialogue et le script. Ceci se fait par Dialog.Dispose() et par exit() placés après la boucle ... Dialog.Select() end Si vous ne procédez pas ainsi, le script est bien relancé, et s'il y a un dialogue, tout se bloque. Cordialement PhC
|
|
offline |
|
|
|
phc
Board Newbie
Posts: 6
|
|
Re: DEV fonction RUN
« Reply #4 on: Jan 21st, 2014, 7:18am » |
Quote | Modify
|
Complément à la réponse précédente. Étant donné que les variables globales de scripts lancés par Run sont partagées, il faut prendre des précautions. Exemple : supposons que vous utilisiez Run dans un lanceur de scripts et que le lanceur et les scripts aient des dialogues. CreateDialog() doit renvoyer à des nom différents dialoga = CreateDialog() /// dialogb = CreateDialog() ce qui implique que les itemOkb ... sont différents et n'interfèrent donc pas
|
|
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2497
|
|
Re: DEV fonction RUN
« Reply #5 on: Jan 21st, 2014, 11:35am » |
Quote | Modify
|
Bonjour C'est une des raisons pour lesquelles je mets quasiment toutes les variables en locales, l'autre raison c'est que je ne sais pas afficher les variables globales dans la fenêtre. Et il est regrettable que ce langage de programmation ne permette pas de passer des paramètres au Run.
|
|
offline |
|
|
|
phc
Board Newbie
Posts: 6
|
|
Re: DEV fonction RUN
« Reply #6 on: Jan 21st, 2014, 7:34pm » |
Quote | Modify
|
Pour afficher une variable globale dans la fenêtre de déboguage, il suffit de cliquer-droit dessus, dans le script, et de demander qu'elle s'ajoute aux variables globales de la fenêtre. Il me semble que le langage LUA ne possède pas de fonction Run, il utilise execute(). Run est propre à HA. Cdlt
|
|
offline |
|
|
|
Geo
Board Master
Gender:
Posts: 2497
|
|
Re: DEV fonction RUN
« Reply #7 on: Jan 21st, 2014, 10:36pm » |
Quote | Modify
|
Merci pour cette astuce.
|
|
offline |
|
|
|
|