Ottieni lo script "Alla chiusura"?CIAO. In JMP c'è un modo per creare uno script che viene eseguito automaticamente quando la finestra o la tabella viene chiusa utilizzando il comando "On Close()". C'è un modo per restituire lo script senza eseguirlo? Cioè, sto cercando un comando simile a "dt << Get On Close".
Le mie specifiche:
JMP Pro 16.2.0
macOS Monterey 12.5
Grazie.
Automazione e scriptingConsumatori e ricerche di mercatoPersonalizzazione di massaRi: Ottieni lo script "Alla chiusura"?Ciao, grazie per l'idea. Posso confermare che il tuo suggerimento di un dt << Get On Close sarà disponibile in una versione futura di JMP. (JMP 18 è probabile).
Ri: Ottieni lo script "Alla chiusura"?Forse potresti provare a impostare un'espressione << On Close molto semplice solo per provarla o utilizzare l'espressione << On Close che impedirà la chiusura della finestra, come esempio da Scripting Index:
Names Default To Here(1);
//This message applies to all display box objects
w = Open("$SAMPLE_DATA/Big Class.jmp");
w << On Close(
// Modal dialogs return Button(1) if OK is pressed, Button(-1) if canceled
New Window("Are you sure?",
<<MODAL></MODAL>Ri: Ottieni lo script "Alla chiusura"?- Credo sia di sola scrittura. Non c'è modo di rileggerlo.
- Non credo che JMP stia cambiando il tuo script.
- Potresti usare @jthi idea di creare un'espressione e del corpo principale, quindi utilizzare <
- Se il tuo script dipende dai globali, potresti dover utilizzare la tecnica evalexpr(...expr(...) ) per catturarli.
Ri: Ottieni lo script "Alla chiusura"?Grazie per i suggerimenti a tutti, ma permettetemi di chiarire. Ho uno script che assegna un'espressione << On Close a una tabella, tra le altre cose. Il mio problema è che quando successivamente chiudo manualmente il tavolo, l'espressione di chiusura non viene eseguita come previsto. Come parte del mio debug, sto provando a rileggere lo script di chiusura della tabella in modo indipendente per confermare che lo script è presente.
Posso già ispezionare l'espressione on-close originale che sto assegnando alla tabella nel mio script più grande, ma ora voglio confermare che quando la tabella è chiusa, JMP vede la stessa espressione che ho scritto.
Ri: Ottieni lo script "Alla chiusura"?Un'altra opzione sarebbe quella di valutare lo script in Alla chiusura, quindi potresti accedervi con l'espressione salvata che hai
Names Default To Here(1);
//This message applies to all display box objects
dt = Open("$SAMPLE_DATA/Big Class.jmp");
on_close_expr = Expr(Show(1));
Eval(EvalExpr(dt << On Close(
Expr(on_close_expr)
)));
Show(Name Expr(on_close_expr));Ri: Ottieni lo script "Alla chiusura"?Dopo aver provato alcune cose, credo che la sceneggiatura in chiusura sia solo scritta e la soluzione di Jim sia la scelta migliore.
Ri: Ottieni lo script "Alla chiusura"?Nella funzione On Close() per la tabella di dati specificata, puoi utilizzare Include() per inserire uno script ed eseguirlo.Se vuoi solo ottenere lo script, puoi usare Carica file di testo().