刷新Windows和窗口持久性<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好。 我有一个表达式,首先创建一个模态通知窗口,点击OK后,它会创建第二个编辑窗口。 在编辑窗口中,有一个关闭窗口并重新执行原始表达式的“刷新”按钮。当我点击“刷新”时,编辑窗口按预期关闭,模态通知窗口再次出现。 但是,即使原始editwin已经关闭,编辑窗口的第二次迭代也会在其名称后附加一个“2”(“editwin 2”)。 此外,在第一次关闭编辑窗口时应该立即运行的<< On Close脚本 - 直到第二个通知窗口实例关闭并且编辑窗口的第二个实例即将打开之后才会运行。 看起来虽然编辑窗口已关闭,但它会持续存储在内存中,直到出现编辑窗口的下一个实例。
有没有人对这种行为有一个很好的解释,更重要的是,解决方法是什么?
谢谢。
名称默认为此处(1);
删除符号();
editwin.expr = Expr(
BB1 = ButtonBox(“ok”,
窗口(“editwin”)<<关闭窗口;
);
BB2 = ButtonBox(“刷新”,
窗口(“editwin”)<<关闭窗口;
editwin.expr;
);
modwin =新窗口(“modwin”,<< Modal,
TextBox(“我是一个通知窗口”),
ButtonBox(“OK”,写(“关闭modwin \!N”))
);
editwin =新窗口(“editwin”,
TextBox(“我是编辑窗口”),
BB1,BB2
);
editwin << On Close(写(“关闭editwin \!N”));
editwin <<设置窗口大小(300,200);
);
editwin.expr;
回复:刷新Windows和窗口持久性只是提供此代码,以防它为您提供解决问题的不同方法
名称默认为此处 ( 1 ) ;
编辑窗口 = 功能 ({} , { 默认本地 } ,
nwEdit = 新窗户 ( “editwin” , << 语气 ,
文本框 ( “我是一个编辑窗口” ) ,
ButtonBox ( “好” ) ,
) ;
如果 ( nwEdit [ “按钮” ] == - 1 ,
retVal的 = 1
,
retVal的 = 0
) ;
retVal的
) ;
NW = 新窗户 ( “modwin” , << 语气 ,
<< 在验证 (
编辑窗口 ()
) ,
文本框 ( “我是一个通知窗口” ) ,
ButtonBox ( “好” ,写 ( “关闭modwin \!N” ) ; )
) ;
回复:刷新Windows和窗口持久性你是对的,我的解决方法并没有解决窗口nwaming问题,但它确实消除了对窗口名称的依赖。jJMLP Jmp将窗口关闭传递给操作系统,因此它失去了对窗口实际关闭时的绝对控制
回复:刷新Windows和窗口持久性有趣。 我正在使用JMP 11.1.1 for Windows(64位)。 我不准备将此问题视为11对12问题或Mac对Windows问题。 无论如何,我仍然需要为我当前的配置找到一种解决方法。
回复:刷新Windows和窗口持久性不幸的是,您的脚本不会阻止重命名窗口。 我试过并得到完全相同的行为。
回复:刷新Windows和窗口持久性仅供参考,我在JMP 12 for Mac中尝试过该脚本,但我没有看到这个问题。editwin每次都被命名为editwin,没有自动编号。
但是,在Windows的JMP 12中我能够重现这个问题:editwin 2,editwin 3等。每次刷新后生成。不知道为什么。
Txnelson方法提供了一个很好的解决方法
回复:刷新Windows和窗口持久性我无法解决窗口命名问题。 看来JMP在执行给定EXPR期间保留了名称。 但是,下面的代码通过对窗口的句柄进行所有操作而不是窗口的名称来消除对窗口名称的担忧:
名称默认为此处(1);
删除符号();
editwin.expr = Expr(
BB1 = ButtonBox(“ok”,
editwinx <<关闭窗口;
);
BB2 = ButtonBox(“刷新”,
editwinx <<关闭窗口;
editwin.expr;
);
modwin =新窗口(“modwin”,<< Modal,
TextBox(“我是一个通知窗口”),
ButtonBox(“OK”,写(“关闭modwin \!N”));
);
editwinx =新窗口(“editwin”,
TextBox(“我是编辑窗口”),
BB1,BB2
);
editwinx << On Close(写(“关闭editwinx \!N”));
editwinx <<设置窗口大小(300,200);
);
editwin.expr;