大家好,
我刚刚在模态窗口中遇到了 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 周我一直忙于工作。 感谢您的解决方案。 它有效,我学到了一些新东西。 感谢 !