大家好,
(我不能 100% 确定这是否是适合讨论此问题的论坛 - 请随意移动帖子/根据需要为我指明正确的方向)
我们为几十位用户提供 JMP 插件。此插件显示几个对话框,并且运行正常,没有任何问题
已经有好几年了(我们开始使用 JMP 14 进行开发,升级到 15/16 也没有出现任何问题)。
然而,在使用 JMP 17 时,我们的两个用户遇到了一个奇怪的问题。插件本身可以正常工作,但在包含以下内容的对话框中
列表框,它们无法选择任何项目 - 似乎列表框不响应任何事件(鼠标点击也不响应
也不是基于键盘的导航)。
这是一个展示问题的精简版本(它显示两个对话框 - 一个带有一个列表框,一个带有两个列表框和几个按钮。它们都不起作用)。
showSelectDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<MODAL>>", select_script),
Button Box("<< Remove", remove_script)
)
),
V List Box(
text Box("Selected parameters:", << set font style( "Bold" ) ),
select_list = List Box (selected_param_list, width(250), nlines(20));
)
),
hlistbox(
ok_button = button box("OK",
selected_param_list = select_list << Get Items;
),
cancel_button = button box("Cancel")
),
// Script to add parameters from paramlist to the select_list, [DOE-379] remove from paramlist
select_script = Expr(
toappend = paramlist << Get Selected;
for(i=1, i<= Nitems(toappend), i++,
if(!Contains(select_list << Get Items, toappend[i]),
select_list << Append(toappend[i]);
)
);
paramlist << remove selected;
);
// Script to remove parameters from the select_list, [DOE-379] add to paramlist
remove_script = Expr(
toremove = select_list << Get Selected;
for(i=1, i<= Nitems(toremove), i++,
if(!Contains(paramlist << Get Items, toremove[i]),
paramlist << Append(toremove[i]);
)
);
//[DOE-379] sort alphabetically
select_list << remove selected;
param_list = paramlist << Get Items;
param_list = Sort List (param_list);
paramlist << Set Items(param_list);
);
);
if(nw["Button"] != 1,
dialog_ok = 0,
dialog_ok = 1
);
return(Eval List({selected_param_list, dialog_ok}));
);
showSimpleDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<MODAL></MODAL></MODAL>
以下是一段展示功能失调的对话框的视频:
JMP Version: 17.0.0 (622753)
OS version: Windows 11
Any pointers / suggestions highly appreciated.
Kind regards
Frank
您可以联系JMP 支持。他们很可能会询问安装检查器文件和一些额外信息。此外,如果您得到解决方案,请在此处发布。
禁用硬件加速图形(按照 JMP 支持的建议)解决了该问题(至少对于我们的一位用户而言,第二位用户目前正在休假)。
以下是我从 JMP 支持部门收到的说明:
请让用户运行 JMP 安装检查器,然后将结果通过电子邮件发送给我们。此报告将提供有关具体 JMP 安装的更多信息。
- 在 JMP 中,导航至“帮助”→“关于 JMP”,然后单击“安装检查器”。
- 报告显示后,选择在浏览器中打开。
- 选择“文件”→“另存为”。
- 将其作为 HTML 文件保存到您的桌面。
另外,请让用户导航至文件 > 首选项 > Windows 特定 > 启用硬件加速图形。取消选择/取消隐藏使用此首选项,然后单击“应用”并重新启动 JMP 并再次测试。
更新建议的解决方法也适用于第二个受影响的用户。