特別な名前空間 (box、window など) に設定された変数にアクセスできれば素晴らしいと思います。次のスクリプトを参照してください。
Names Default To Here( 1 );
testbox = Function( {items, win_index = 1, box_index = 1},
{default local},
ctb = Context Box(
box:win_index = win_index;
box:box_index = box_index;
box:hlb = H List Box(
box:btn_close = Button Box( "Close Me", box:hlb << delete ),
box:btn_get = Button Box( "Get Selected", Print( box:lb_items << get Selected ) ),
box:btn_find = Button Box( "Find Me", Print( box:win_index, box:box_index ) ),
box:btn_select = Button Box( "Select
Me", box:hlb << Select ),
box:btn_deselect = Button Box( "DeSelect Me", box:hlb << DeSelect ),
box:lb_items = List Box( items )
);
);
Return( ctb );
);
nw = new window("Test Window",
window:win_index = 14;
window:box_index = 28;
cont_box = testbox( {"1", "2", "3"}, 3, 4 ),
textbox("Some stuff")
);
nw:win_index と cont_box:win_index にアクセスして値を正しく取得できれば、それは素晴らしいことです。 現在、EvalContextBox 内からのみ名前空間にアクセスできます。