Variabili di funzione locali nella casella dei pulsantiCiao,
Sto cercando una soluzione per accedere alle variabili locali quando creo una Button Box all'interno di una funzione. Ho visto un post qui in cui la soluzione suggerita era quella di assegnare variabili allo spazio dei nomi della finestra. Tuttavia, non credo che questo funzioni per i report che devo creare, poiché contengono diverse parti riutilizzate nella stessa finestra.
Nel mio esempio, cerco semplicemente di stampare i valori della mia lista concatenata, ma con gli script finali vorrò fare molto di più (tutti funzionanti durante i test/trucchi tramite variabili globali).
// General Component - List Box
make_a_list_box = Function( {list_in},
{Default Local},
l_box = List Box( list_in );
Return( l_box );
);
// General Component - Button linked to a specific list box
linked_button_box = Function( {button_name, target_list_box},
{Default Local},
b_box = Button Box( button_name, Print( target_list_box << Get Items ) ); // Name Unresolved: target_list_box
Return( b_box );
);
// Basic Module - Expect multiple in a shared window
report_module = Function( {list_in, button_name},
{Default Local},
report_list = make_a_list_box( list_in );
report_button = linked_button_box( button_name, report_list );
report = H List Box( report_list, report_button );
Print( report_list << Get Items );
Return( report );
);
// Example Window using multiple modules
New Window( "Test",
V List Box(
report_module( {"A", "B", "C"}, "Letter" ),
report_module( {"1", "2", "3"}, "Number" )
)
);
Automazione e scriptingOggetto: Variabili di funzione locali nella casella dei pulsantiÈ possibile utilizzare la casella di contesto
Names Default To Here(1);
make_a_list_box = Function({list_in},
{Default Local},
l_box = List Box(list_in);
Return(l_box);
);
// General Component - Button linked to a specific list box
linked_button_box = Function({button_name, target_list_box},
{Default Local},
b_box = Context Box(
box:target_list_box = target_list_box,
Button Box(button_name,
Print(box:target_list_box << Get Items)
)
);
Return(b_box);
);
report_module = Function({list_in, button_name},
{Default Local},
report_list = make_a_list_box(list_in);
report_button = linked_button_box(button_name, report_list);
report = H List Box(report_list, report_button);
Print(report_list << Get Items);
Return(report);
);
nw = New Window("Test",
V List Box(
report_module({"A", "B", "C"}, "Letter"),
report_module({"1", "2", "3"}, "Number")
)
);
Write();