大家好,
我剛剛在模態窗口中遇到了 2 個腳本問題,該窗口曾經在 JMP14 中運行良好,但是一旦我移到 JMP16 上,就發現了這兩個問題:
1) 出現了一條錯誤消息,指出“刪除的對象引用:cc << 在“膠水”的訪問或評估中被選中,..... ”
2)“取消”按鈕顯示錯誤" 名稱未解析:按鈕正在訪問或評估 'Button',按鈕 (-1) /*###*/ "
下面是一個在 JMP14 中運行良好但在 JMP16 中運行良好的簡化腳本。 如果工作正常,腳本將創建一個新列(“結果”),如果復選框被選中,則說明“通過”,如果復選框未選中,則“失敗”。 關於“取消”按鈕,如果工作正常,點擊時不會出現錯誤信息,它將關閉模態窗口。
Names Default To Here( 1 );
dt = 當前數據表 ();
win = New Window("用戶輸入", << Modal, LineUpBox( Ncol( 1 ),
cchk = {"通過"};
PanelBox( "結果",
cc = 複選框(cchk),
cc << Set( 1, 1 ),
SpacerBox( 大小( 1, 0 ) )),
HListBox( SpacerBox(), ButtonBox( "OK" ), ButtonBox( "Cancel" )),
));
If( win["Button"] == -1, win << Close Window );
ctc = cc << 被選中;
dt << 新列(“結果”,字符,名義);
如果(包含(ctc,“通過”),
dt:Result << 設置每個值(“通過”),
dt:Result << 設置每個值(“失敗”));
總的來說,我發現 JMP16 在立即刪除顯示框方面更具侵略性。
然而,我一直使用的方式模態windows是通過利用驗證函數——這通常是為確定窗口是否應該關閉而保留的(也許不是所有必需的輸入都已填寫,並且您不希望窗口通過“確定”按鈕關閉。)只要確保返回一個1正確關閉窗戶。
Names Default To Here( 1 );
dt = Current Data Table();
win = New Window( "User Input",
<<MODAL></MODAL>
您好,非常抱歉回复晚了。 過去 2 週我一直忙於工作。 感謝您的解決方案。 它有效,我學到了一些新東西。 感謝 !