Erreur résolue de nom avant que la variable ne soit affectée / utiliséeJ'ai un script dont la structure de base est:
générer quelques listes qui alimentent l'interface utilisateur
créer une interface utilisateur
prendre la saisie de l'utilisateur
effectuer une analyse
J'ai écrit le script à l'aide d'expressions et tout ce qui dépasse la création de l'interface utilisateur est uniquement appelé pour être exécuté après que l'utilisateur a appuyé sur le bouton OK de l'interface utilisateur
L'utilisateur doit sélectionner une plage de temps pour l'analyse que j'importe et utilise ensuite comme variable appelée "jours" pendant l'analyse. Le seul moment où cette variable est définie et utilisée est dans l'expression pour obtenir l'entrée de l'utilisateur à alimenter pour faire l'analyse, cependant lorsque j'exécute le script, il crée l'interface utilisateur et donne ensuite une alerte de nom non résolu pour la variable jours avant même tout est entré par l'utilisateur. Après avoir fermé la fenêtre d'alerte et saisi des choix dans l'interface utilisateur, le script semble fonctionner correctement.
La variable est définie puis utilisée dans un calcul. L'alerte se produit sur la ligne qui utilise la variable et non la section qui la définit. J'ai déjà traité des problèmes de nom non résolu, mais je ne peux pas dire pourquoi il apparaît avant que l'expression ne soit appelée.
Re: Erreur résolue de nom avant que la variable ne soit affectée / utiliséeOn dirait que vous utilisez une fenêtre non modale avec du code après. Vous pouvez soit:
1. Passer à une fenêtre modale
nw = new window("test", << modal(),
tb = text edit box(),
okb = button box("OK")
)
);
<POST-USER-INTERFACE steps=""></POST-USER-INTERFACE>
2. Ou mettez la logique à exécuter par le bouton OK à l'intérieur du bouton OK, peut-être avec un include.
nw = new window("test",
tb = text edit box(),
okb = button box("OK",
include("post-user-interface.jsl");
)
);Re: Erreur résolue de nom avant que la variable ne soit affectée / utiliséeMerci! Mettre le code supplémentaire à l'intérieur du bouton est exactement ce que j'allais faire. Il s'est avéré qu'il y avait un autre problème plus tard dans le script que je n'avais pas saisi auparavant et qui rendait les choses plus compliquées.