こんにちは、みんな、
以前はJMP14で正常に機能していたモーダルウィンドウのスクリプトで2つの問題が発生しましたが、JMP16に移行するとすぐに、次の2つの問題が見つかりました。
1)「削除されたオブジェクト参照:cc << 'Glue'、....のアクセスまたは評価で選択されます。 「」
2)「キャンセル」ボタンにエラーが表示される"名前が未解決: 'ボタン'のアクセスまたは評価中のボタン、ボタン(-1)/ * ### * /"
以下は、JMP14では正常に機能しているがJMP16では機能していない簡略化されたスクリプトです。 正しく機能している場合、スクリプトは、チェックボックスがオンになっている場合は「合格」、チェックボックスがオフになっている場合は「不合格」を示す新しい列(「結果」)を作成します。 「キャンセル」ボタンについては、正常に動作していれば、クリックしてもエラーメッセージは表示されず、モーダルウィンドウが閉じます。
名前のデフォルトはHere(1);
dt =現在のデータテーブル();
win = New Window( "User Input"、<< Modal、LineUpBox(Ncol(1)、
cchk = {"合格"};
PanelBox( "結果"、
cc =チェックボックス(cchk)、
cc << Set(1、1)、
SpacerBox(Size(1、0)))、
HListBox(SpacerBox()、ButtonBox( "OK")、ButtonBox( "Cancel"))、
));
If(win ["Button"] == -1、win <<ウィンドウを閉じる);
ctc = cc <<選択を取得;
dt <<新しい列( "結果"、文字、名目);
If(Contains(ctc、 "Pass")、
dt:Result <<各値の設定( "Pass")、
dt:Result <<各値を設定( "Fail"));
一般的に、JMP16は、ディスプレイボックスをすぐに削除することに関してもう少し積極的であることがわかりました。
しかし、私がいつも使ってきた方法モーダル窓は利用することによってですOnValidate関数-これは通常、ウィンドウを閉じるかどうかを決定するために予約されています(おそらく、必要な入力がすべて入力されているわけではなく、[OK]ボタンを使用してウィンドウを閉じたくない場合があります)。 1適切なウィンドウを閉じるため。
Names Default To Here( 1 );
dt = Current Data Table();
win = New Window( "User Input",
<<MODAL></MODAL>
こんにちは、返信が遅くなって本当に申し訳ありません。 私は過去2週間仕事で忙しいです。 解決してくれてありがとう。 それはうまくいき、私は何か新しいことを学びました。 感謝します!