JMP 窗口未关闭我正在编写一个仅进行基本图像编辑的脚本。 我将图像放在一个窗口中,然后单击“图像选项”窗口会打开一个带有对比度和亮度滑块的窗口。 每当我关闭图像选项窗口时,它实际上从未关闭,该窗口只是隐藏的。 点击角落里的“x”没有任何作用。 我什至添加了一个“关闭”按钮,上面写着 << 关闭窗口,但随后它只是隐藏了它。 为了让它关闭,我必须完全关闭JMP。 我有什么遗漏的吗?
Names Default To Here( 1 );
img = Open( "$SAMPLE_IMAGES/windmap.png", "png" );
orig = New Image( img );
wind = New Image( orig );
slbval = 1;
slbval1 = 1;
w = New Window( "View Image",
vlb = V List Box(
Graph Box(
FrameSize( 500, 500 ),
X Scale( 0, 100 ),
Y Scale( 0, 100 ),
<<ADD image=""></ADD>
回复:JMP 窗口未关闭你好@pen51 ,
您可以将 1 添加到 On Close 参数中。
<< On Close ( optionswindowopen = 0; 1)
这样它将返回最后一个参数的结果;在这种情况下 1。
干杯,
斯坦
回复:JMP 窗口未关闭@斯坦_科普罗夫斯基为您指明了正确的方向,您提出了一个很好的问题,而答案表明了 JSL 的微妙之处。
关键是要记住 JSL 中的所有内容都是函数,甚至是像 = 这样的运算符,它相当于分配()函数。 由于一切都是函数,因此它们都会返回一些东西。 Assign() 函数返回被分配的值。
因此,因为 OnClose() 参数是分配 0 的赋值 () 函数,并且因为分配 () 函数返回被分配的值,所以它返回 0,并且因为 On Close() 表示如果被调用的函数返回 0,窗口将不会关闭,因此窗口将永远不会关闭。
然而,由于一切都是函数,因此 ;运算符实际上是胶水()功能。 Glue() 函数返回最后一个参数的结果。 因此,您可以通过在赋值后在 On Close() 脚本中执行其他任何操作来解决此问题,例如仅输入 1。
所以,这对你有用:
imgop = New Window( "Image Options",
<<ON close=""></ON>
回复:JMP 窗口未关闭嗨,斯坦,optionswindowopen 只是一个布尔值,表示窗口是否打开。 由于我要关闭窗口,因此“关闭时”会将布尔值设置为 0。 如果窗口打开,则布尔值为 1。 我想用这个逻辑保留这个布尔值,那么你有解决办法吗?
回复:JMP 窗口未关闭你好@pen51 ,
该脚本的问题在于第 32 行:
<<ON close=""></ON>
当设置为 0 时,窗口永远不会关闭。
如果你更改为
<<ON close=""></ON>
它按预期关闭。
根据脚本索引,如果 << On Close() 返回零 (0),则窗口将被阻止关闭。
<<On Close<<On Close<<关闭时
干杯,
斯坦
回复:JMP 窗口未关闭@pen51 ,
我在 JMP 13.1.0 上测试了此脚本并遇到了同样的问题。
回复:JMP 窗口未关闭我已与 JMP 支持人员联系,但与我交谈的技术人员无法使用相同的脚本重现问题。 我正在运行 JMP 13.1, @cwillden你在跑什么? 我会尝试更新并看看它是否有效,但希望不高,因为@tx尼尔森JMP 14也有这个问题。
回复:JMP 窗口未关闭哈哈,我在 JMP 13 中也遇到了同样的情况。谢谢@pen51用你奇怪的无意病毒感染我们的计算机(j/k)。
回复:JMP 窗口未关闭这很好奇......我玩了一下,找不到任何能够关闭选项窗口的一致原因。事实上,在 JMP 14 下,我的 JMP 会话不会关闭。我不得不强制关闭操作系统。
这需要发送给 JMP 支持人员......
support@jmp.com