Salve, sto scrivendo script in JMP Pro Application Builder.
- Ho una finestra principale in cui ho un pulsante che mi porta a una finestra secondaria. All'interno della finestra secondaria, sono presenti caselle di modifica del testo in cui i valori vengono inseriti dall'utente. Inoltre, in questa finestra secondaria è presente un pulsante di chiusura che salva i valori nell'appNS e chiude la finestra secondaria.
- Ho le variabili inizializzate nella finestra principale per avere valori predefiniti di 0. Ho problemi a far sì che le variabili utilizzino i valori aggiornati dalla nuova finestra invece dei valori predefiniti. Stampa istantaneamente i valori predefiniti invece di eseguire la funzione e quindi stampare i valori aggiornati. Qualsiasi aiuto sarebbe apprezzato.
Ecco alcuni frammenti di codice per riferimento (PredictiveModeling è la finestra principale e OptimizeModelWindow è la finestra secondaria):
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);
);
Qui è dove le variabili vengono lette dagli EditBox e aggiornano i valori predefiniti...
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;
);