L'utilisation de Throw( dans les scriptsJ'utilise Throw() dans mes programmes pour arrêter l'exécution de cette partie particulière du programme. Cela fonctionne toujours dans JMP 13 mais j'obtiens parfois une nouvelle fenêtre avec une alerte JMP.Je n'arrive pas à simuler le problème - Cela se produit dans une fenêtre utilisateur - le programme voit un problème, le programme envoie un Caption et exécute un Throw().Dans la version précédente, je n'avais que la légende maintenant, j'ai parfois aussi une fenêtre d'alerte.Je pensais que Throw() arrête simplement l'exécution. Je peux utiliser du texte dans le Throw ("Hello") et dans ce cas, il recevra une alerte JMP avec le texte - s'il est exécuté seul, je n'obtiens que le texte dans le journal.Je ne sais pas à quoi m'attendre quand.Quelqu'un peut-il aider.
Re : L'utilisation de Throw (dans les scriptsIl en est de même pour Lancer(
Re : L'utilisation de Throw (dans les scriptsUne autre chose à propos de stop(). Il semble n'arrêter le script que dans la boîte d'affichage qui le contient.
dt = open("$SAMPLE_DATA\Big Class.jmp");
newwindow("x", <<MODAL></MODAL>
Re : L'utilisation de Throw (dans les scriptsMerci Craige - exactement ce dont j'ai besoin - la fonction Stop().Je ne peux pas obtenir le manuel Sctipt cependant.
Je m'attendrais à ce que le bouton "lancer" dans votre exemple affiche une alerte vide comme ci-dessous.C'est ce que j'obtiens dans mon propre programme - comme vous l'avez dit, c'est dans un environnement interactif 
Re : L'utilisation de Throw (dans les scripts
Alert dialog triggered by JSL throw in Interactive modeAlert dialog triggered by JSL throw in Interactive modeBoîte de dialogue d'alerte déclenchée par le lancement de JSL en mode interactif
Lorsque JSL s'exécute à partir d'un script de bouton, il s'exécute en mode interactif et produit des boîtes de dialogue d'alerte lorsque JMP pense que vous devriez savoir ce qui s'est passé. Si vous exécutez un script en le soumettant, JSL s'exécute en mode batch et envoie simplement des alertes au journal. Je pense que dans votre cas, vous voudrez probablement utiliser stop() plutôt que throw("msg").
Lorsque vous soumettez ce script, il s'exécute en mode batch et ouvre une fenêtre. Lorsque vous cliquez sur un bouton dans la fenêtre, le script du bouton s'exécute de manière interactive.
newwindow("x",
buttonbox("throw(err msg)",setscript(print(1);throw("this is an error message");print(2))),
buttonbox("throw",setscript(print(3);throw();print(4))),
buttonbox("stop",setscript(print(5);stop();print(6))),
)
Pour chacun des boutons, seul le premier chiffre est imprimé dans le journal car le script s'arrête.