CIAO,
Ho una variabile chiamata lf, (lf = ListF << Ottieni elementi, dove ListF è un elenco di elementi). Definisco ListF all'interno di una funzione che contiene una casella di pulsanti. Nella funzione per quella casella del pulsante, che è definita dopo la funzione in cui è definito ListF, ho impostato lf = ListF << GetItems.posso accedere alla variabile lf all'interno delle funzioni ma dopo le funzioni, quando scrivo print(lf); mi dà questo nome errore irrisolto. Potresti darmi un'idea del perché?
Funzione in cui è definito ListF:
selectFileButton = Function({y},
win1 = New Window( "Select Files",
Lineup Box( N Col( 2 ), Spacing( 3 ),
Button Box( "File To Tag", ListF << Append( ListData << GetSelected )),
ListF = List Box( fileSelected, width( lbWidth ), nLines( 5 ), Numeric ), <BR />Button Box("OK", OKScript1)))); <BR />Funzione dove lf è definito:
OKScript1 = Expr(
//win1 << CloseWindow;
lf = ListF << Get Items);
Al di fuori di entrambe queste funzioni:
print(lf);
L'ambito variabile * potrebbe * essere il problema. "lf" sembra essere creato e assegnato un valore all'interno del pezzo di codice eval: una variabile locale. Quando quel pezzo di codice è completo, la garbage collection elimina la variabile locale.
Definisci "lf" e assegnagli presto un valore fasullo in modo che diventi globale. Quindi, quando eseguirà l'eval in un secondo momento, non definirà un "lf" locale ma un "lf" globale che quindi l'eval aggiorna.
Ancora bloccato su questo, apprezzerei davvero qualsiasi aiuto. Fornirà il codice completo se necessario, grazie.