需要局部變量以關閉窗口我正在嘗試生成多個窗口,並讓關閉按鈕分別關閉每個窗口。但是,它沒有按我預期的方式工作。嘗試運行代碼2x;關閉按鈕適用於一個窗口,不適用於另一窗口。
::a = "The quick fox jumped over the brown log";
::b = "Hello World I want to get off now";
names default to here(1);
nw = new window("Test",
text box(::a),
text box(::b),
button box("Close", nw << close window)
);


圖形腳本編寫回复:需要局部變量以關閉窗口這是我的處理方式
::a = "The quick fox jumped over the brown log";
::b = "Hello World I want to get off now";
Names Default To Here( 1 );
Eval(
Substitute(
Expr(
__nw__ = New Window( "Test",
Text Box( ::a ),
Text Box( ::b ),
Button Box( "Close", __nw__ << close window )
)
),
Expr( __nw__ ),
Parse( "nw" || Char( Random Integer( 1, 999999999 ) ) )
)
);回复:需要局部變量以關閉窗口謝謝吉姆的工作。但是有兩個問題:
1.為什麼您的工作而不是我的?
2.似乎您正在將__nw__分配給隨機整數,但是它已經是“窗口句柄”。那不是覆蓋它的窗口句柄值嗎?
作為獎勵問題,為什麼所有雙下劃線都是?沒有它們,代碼可以正常工作。
回复:需要局部變量以關閉窗口您的代碼失敗,因為第二次運行腳本時,“ nw”變量被更改為指向最新的窗口。基本上,問題是“此處”命名空間與腳本窗口相關聯,而不是每個實例都從腳本窗口運行。每次運行代碼時,我的代碼都會創建一個新變量。
關於雙下劃線,這只是我使用的標準。我發現它有助於閱讀和理解代碼的工作方式。