Bonjour, je suis en train de créer des scripts dans JMP Pro Application Builder.
- J'ai une fenêtre principale dans laquelle j'ai un bouton qui m'amène à une fenêtre secondaire. Dans la fenêtre secondaire, il y a des zones d'édition de texte où les valeurs sont saisies par l'utilisateur. De plus, il y a un bouton de fermeture sur cette fenêtre secondaire qui enregistre les valeurs dans l'appNS et ferme la fenêtre secondaire.
- J'ai initialisé les variables dans la fenêtre principale pour avoir des valeurs par défaut de 0. J'ai du mal à faire en sorte que les variables utilisent les valeurs mises à jour de la nouvelle fenêtre au lieu des valeurs par défaut. Il imprime les valeurs par défaut instantanément au lieu d'exécuter la fonction, puis d'imprimer les valeurs mises à jour. Toute aide serait appréciée.
Voici quelques extraits de code pour référence (PredictiveModeling est la fenêtre principale et OptimizeModelWindow est la fenêtre secondaire) :
appNS: ParamList1 = 0;
appNS: ParamList2 = 0;
appNS: ParamList3 = 0;
appNS: ParamList4 = 0;
appNS: ParamList5 = 0;
appNS: ParamList6 = 0;
OptimizeParamsButtonPress = Function( {this}, // This function is called when the OptimizeParams button is pressed on the PredictiveModeling Window
name = this << Get Button Name;
OptimizeModelWindow << Create Instance(thisModuleInstance);
Wait(OptimizeModelWindow);
PList1 = appNS: ParamList1;
PList2 = appNS: ParamList2;
PList3 = appNS: ParamList3;
PList4 = appNS: ParamList4;
PList5 = appNS: ParamList5;
PList6 = appNS: ParamList6;
Print(PList1,PList2,PList3,PList4,PList5,PList6);
);
C'est là que les variables sont lues à partir des EditBoxes et mettent à jour les valeurs par défaut...
doOptimizeParams = Function ( {},
HP1 = PEdit1 << Get Text;
appNS: ParamList1 = HP1;
HP2 = PEdit2 << Get Text;
appNS: ParamList2 = HP2;
HP3 = PEdit3 << Get Text;
appNS: ParamList3 = HP3;
HP4 = PEdit4 << Get Text;
appNS: ParamList4 = HP4;
HP5 = PEdit5 << Get Text;
appNS: ParamList5 = HP5;
HP6 = PEdit6 << Get Text;
appNS: ParamList6 = HP6;
);
CloseOptimizeButtonPress = Function( {this},
// This function is called when the Optimize button is pressed on the popup OptimizeModel window
name = this << Get Button Name;
doOptimizeParams();
Print(ParamList1,ParamList2,ParamList3,ParamList4,ParamList5,ParamList6);
(thisModuleInstance << GetBox) << Close Window;
);