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