在 JSL 中關閉圖像 obj 時出現問題您好,希望獲得有關 JSL 腳本的幫助。我遇到了 newImage 對象保持打開狀態但完全隱藏的問題。我知道它是打開的唯一方法是因為 Windows 無法刪除該文件,因為它說它在另一個程序中打開,通過關閉 JMP 可以修復該文件。這是我的代碼片段,我嘗試了一些 obj << close() 和 obj << close window() 但對象仍然存在。
img_t = newImage(path_to_results||"/"||subfolder_list[k]||"/"||image)
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,PX+25,PY+25 ),color("Yellow"),raised(1));
img= w2 << getpicture();
img_t << Close Window;
w2 << Close Window;
img<<SET size=""></SET>有什麼建議麼?
回复:在 JSL 中關閉圖像 obj 時出現問題如果您在 JMP 中開始新會話,請嘗試以下腳本:
Names Default to here(1);
img_t = New Image( "$SAMPLE_IMAGES/tile.jpg" );
w2 = new window("Image", Show Toolbars(0), Show Menu(0), img_t);
{PX,PY} = w2 << get size;
w2 << Add Simple ShapeAnnotation(Oval(PX-25,PY-25,25,25 ),color("Yellow"),raised(1));
img= w2 << get picture();
w2 << Close Window;
//the image objects still exist
//show(img);
//show(img_t);
img = empty();
img_t = empty();
show(img, img_t); //see LOG: img = Empty(); img_t = Empty();
delete symbols({img, img_t});
show symbols();
然後查看 LOG 窗口。 您將看到:三個顯示結果。符號/對象可以是本地的、此處的和全局的。 請注意,我有一個您可能沒有的全局變量。所以關鍵是用新值替換變量並刪除名稱(符號)。您可能想了解更多信息命名空間在《JMP 腳本編寫指南》中。
img = Empty();
img_t = Empty();
// Here
img = Empty();
img_t = Empty();
PX = 451;
PY = 451;
w2 = DisplayBox[];
// 5 Here
// Global
com.jmp.wmurph.crashrpt.flag = 0;
// 1 Global