Obtenir le script "À la fermeture" ?Salut. Dans JMP, il existe un moyen de créer un script qui s'exécute automatiquement lorsque la fenêtre ou la table est fermée à l'aide de la commande "On Close()". Existe-t-il un moyen de renvoyer le script sans l'exécuter ? C'est-à-dire que je recherche une commande du type "dt << Get On Close".
Mes spécificités :
JMP Pro 16.2.0
macOS Monterey 12.5
Merci.
Automatisation et scriptÉtudes de consommation et de marchéPersonnalisation de masseRe : Obtenir le script "À la fermeture" ?Bonjour, merci pour l'idée. Je peux confirmer que votre suggestion d'un dt << Get On Close sera disponible dans une future version de JMP. (JMP 18 est probable).
Re : Obtenir le script "À la fermeture" ?Peut-être pourriez-vous essayer de définir une expression << On Close très simple juste pour la tester ou utiliser l'expression << On Close qui empêchera la fermeture de la fenêtre, comme l'exemple de 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>Re : Obtenir le script "À la fermeture" ?- Je crois que c'est en écriture seule. Pas moyen de le relire.
- Je ne pense pas que JMP modifie votre script.
- Vous pourriez utiliser @jthi idée de faire une expression e du corps principal, puis utilisez <
- Si votre script dépend de variables globales, vous devrez peut-être utiliser la technique evalexpr(...expr(...) ) pour les capturer.
Re : Obtenir le script "À la fermeture" ?Merci pour les suggestions à tous, mais permettez-moi de clarifier. J'ai un script qui attribue une expression << On Close à une table, entre autres choses. Mon problème est que lorsque je ferme ensuite la table à la main, l'expression on-close ne s'exécute pas comme je l'avais prévu. Dans le cadre de mon débogage, j'essaie de relire indépendamment le script de fermeture de la table pour confirmer que le script est là.
Je peux déjà inspecter l'expression on-close originale que j'attribue à la table dans mon script plus grand, mais je veux maintenant confirmer que lorsque la table est fermée, JMP voit la même expression que j'ai écrite.
Re : Obtenir le script "À la fermeture" ?Une autre option serait d'évaluer le script dans On Close, puis vous pourriez y accéder avec l'expression enregistrée que vous avez
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));Re : Obtenir le script "À la fermeture" ?Après avoir essayé quelques choses, je pense que le script de fermeture est en écriture seule et que la solution de Jim est le meilleur choix.
Re : Obtenir le script "À la fermeture" ?Dans votre fonction On Close() pour la table de données donnée, vous pouvez utiliser un Include() pour introduire un script et l'exécuter.Si vous voulez juste obtenir le script, vous pouvez utiliser Load Text File().