JMP社群的各位好,
我正在開發一個 JMP 插件,它可以創建視窗、儲存全域變數並呼叫函數。單一實例運作一切正常,但當使用者啟動插件兩次時,兩個實例共享同一個全域作用域,導致變數衝突(一個視窗的狀態覆蓋了另一個視窗的狀態)。
我已將腳本初始化為預設名稱為 here(1),甚至建立了自己的新空間 (ns = newspace()) 並將所有變數放在其中,但仍有衝突。我知道視窗命名空間,但我也想避免視窗之外的變數發生衝突。
// Launch this script twice — second run breaks the first window
strLabel = "Instance A";
counter = 0;
win = New Window( "Test " || strLabel,
btn = Button Box( "Click me",
counter++;
btn << Set Label( strLabel || " clicked " || Char( counter ) || "x" );
)
);