こんにちは、私は JMP Pro Application Builder でスクリプトを作成しています。
- メイン ウィンドウがあり、そこに 2 番目のウィンドウに移動するボタンがあります。 2 番目のウィンドウ内には、ユーザーが値を入力するテキスト編集ボックスがあります。 また、この 2 番目のウィンドウには、値を appNS に保存して 2 番目のウィンドウを閉じる閉じるボタンがあります。
- メイン ウィンドウで変数を初期化してデフォルト値 0 を設定しました。 デフォルト値の代わりに新しいウィンドウから更新された値を使用するように変数を取得するのに問題があります。 関数を実行して更新された値を出力するのではなく、デフォルト値を即座に出力します。 助けていただければ幸いです。
参考用のコード スニペットをいくつか示します (PredictiveModeling がメイン ウィンドウ、OptimizeModelWindow がセカンダリ ウィンドウです)。
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);
);
ここで変数が EditBox から読み取られ、デフォルト値が更新されます。
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;
);