Obtenez le mode batch / interactifJe me demande s'il existe un moyen de supprimer nativement les fenêtres modales. Batch interactive ne semble pas le faire.
Names default to here(1);
batch interactive(1);
new window("Test", <<MODAL></MODAL>
Je me demande donc s'il existe un moyen d'obtenir le mode interactif par lots actuel afin que je puisse faire quelque chose comme ça.
Names default to here(1);
batch interactive(1);
if(batch interactive(), // or some other internal variable
print("YAY")
, // else
new window("Test", <<MODAL></MODAL>
Évidemment, je peux créer ma propre variable de lot, mais je me demande s'il y a quelque chose de intégré.
Re : Obtenir le mode batch/interactifMerci pour l'info.
Avec l'aide du support JMP : )
batch interactive(boolean) returns the previous setting.
Names default to here(1);
//works for both options
//batch interactive(0);
//batch interactive(1);
last setting = batch interactive(1); // return value is last setting
batch interactive(last setting); // reset it in case we set it erroneously
if(last setting,
print("YAY")
, // else
new window("Test", <<MODAL> </MODAL>
Re : Obtenir le mode batch/interactifLe mien commence toujours par 1, ce qui me fait penser que JMP est en mode batch. Ce qui n'est certainement pas le cas. Au démarrage, le premier retour vous donne-t-il 0 ?
Re : Obtenir le mode batch/interactifbon point ...
Il semble que lorsque nous exécutons un script, JMP démarre automatiquement avec « Batch Interactive » défini sur 1 par défaut.
- de telle sorte qu'aucun message d'avertissement n'apparaisse et n'interfère avec le script.
Ce qui n'est certainement pas le cas.
Peut-être existe-t-il différents types d’« avertissements » ? - et certains d'entre eux ignorent ce paramètre par défaut « Batch Interactive » ~ 1 et ont donc besoin d'un batch interactive(1) explicite envoyé via JSL pour « se taire » ?
Comme Eval(arg) contre Eval(Eval Expr( .... Expr(arg) ...):
Une partie des plates-formes et des fonctions JMP a juste besoin d'Eval() autour d'un argument pour résoudre les problèmes de référence de variable.
Pour l'autre partie, l'approche Eval(arg) échouera et l'utilisateur devra revenir à Eval(Eval Expr( .... Expr(arg) ... ).
... et c'est le plaisir quotidien des scripteurs JSL et du support JMP de découvrir quelle fonction appartient à quel groupe.
Re : Obtenir le mode batch/interactifexemples des différents comportements du batch interactif - et des différents modes "par défaut":
Names Default To Here( 1 );
testMarkup = Function( {},
text = Text Box("Bad XML <");
text << markup;
);
// Run the next four lines individually
testMarkup(); // no special setting: default
batch interactive(1);testMarkup(); // batch interactive is turned "on" so we see an error
batch interactive(0);testMarkup(); // batch interactive is turned off so we can show an error
new window("test",buttonbox("Test", testMarkup())); // running jsl in response to a click is not batch interactive mode
new window("test",buttonbox("Test", batch interactive(1);testMarkup())); // set batch interactive to 1 so the error message goes to the log and there is no modal dialog
// the findings:
// default -> no dialog
// 1 -> no dialog
// 0 -> dialog
// Run the next 3 lines individually to check if formula errors behave the same as above
:col1 << remove formula(); // no special setting: default
batch interactive(1);:col1 << remove formula(); // batch interactive is turned "on"" so we see an error
batch interactive(0);:col1 << remove formula(); // batch interactive is turned off so we can show an error
// the findings:
// default -> dialog (!!!!!)
// 1 -> no dialog
// 0 -> dialogDu support JMP, j'ai obtenu l'info :
La fonction Batch Interactive() n'est pas documentée. Le comportement peut différer selon les situations et peut changer à l’avenir. En effet, cela peut être considéré comme expérimental et non pris en charge.