Hallo, ich erstelle Skripte im JMP Pro Application Builder.
- Ich habe ein Hauptfenster, in dem ich eine Schaltfläche habe, die mich zu einem sekundären Fenster bringt. Im sekundären Fenster gibt es Textbearbeitungsfelder, in die der Benutzer Werte eingeben kann. Außerdem gibt es in diesem sekundären Fenster eine Schaltfläche zum Schließen, die die Werte im appNS speichert und das sekundäre Fenster schließt.
- Ich habe die Variablen im Hauptfenster so initialisiert, dass sie den Standardwert 0 haben. Ich habe Probleme, die Variablen dazu zu bringen, die aktualisierten Werte aus dem neuen Fenster anstelle der Standardwerte zu verwenden. Es druckt sofort die Standardwerte, anstatt die Funktion auszuführen und dann die aktualisierten Werte zu drucken. Jede Hilfe wäre dankbar.
Hier sind einige Codeausschnitte als Referenz (PredictiveModeling ist das Hauptfenster und OptimizeModelWindow ist das sekundäre Fenster):
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);
);
Hier werden die Variablen aus den EditBoxes gelesen und die Standardwerte aktualisiert...
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;
);