Savez-vous pourquoi mon script s'exécute entièrement lorsque je l'exécute manuellement mais qu'il ne fonctionne pas lorsque je l'exécute à partir d'une commande dans la barre d'outils ?Salut les gars,
J'ai ce script qui fonctionne à 100% lorsque je l'exécute manuellement.
Lorsque je l'exécute depuis la barre d'outils (automatiquement), il n'exécute pas la dernière section.
Avez-vous une idée de pourquoi cela se produit ?
J'ai ajouté un commentaire dans le script dans le point qui ne fonctionne plus :
//À PARTIR D'ICI, LE SCRIPT NE FONCTIONNE PAS EN MODE BARRE D'OUTILS
//Script for GRR Anlaysis for Qual Data
names = {};
//prueba={};
RepeatabilityData = {};
ReproducibilityData = {};
GaugeRRData = {};
ParttoPartData = {};
NDCData = {};
Datos_table = Current Data Table();
For( i = 1, i <= N Col(), i++,
Insert Into( names, Column Name( i ) )
);
dlg1 = Dialog(
Title( "GR&R" ),
"Select Tests",
vlist( selectiontests = List Box( names ) ),
"Select Channel Column",
vlist( selectionchannel = List Box( names ) ),
"Select Category (Pre/Post) Column",
vlist( selectioncategory = List Box( names ) ),
"select Devices Number Column",
vlist( selectionSN = List Box( names ) ),
synch = Check Box( "Generate Journal", 0 ),
hlist( button( "OK" ), button( "Cancel" ) )
)
;
if (dlg1["Button"]==1,
column(dlg1["selectionchannel"])<<SET modeling="" type="">0.4,
ListDelta[l]<<SET property=""></SET></SET>Automatisation et scriptsRe : Savez-vous pourquoi mon script s'exécute entièrement lorsque je l'exécute manuellement mais qu'il ne fonctionne pas lorsque je l'exécute à partir d'une commande dans la barre d'outils ?Salut @CrownofTears ,
quand j'ai eu ces problèmes dans le passé, j'ai découvert que l'ajout de Wait (0.1) avant la boucle et à la fin de chaque boucle le faisait fonctionner. dans votre cas, je n'ai pas de suspect évident pour le comportement lent. je mettrais juste un Wait (0.1) après chaque ; dans la dernière boucle et voir si ça marche
cela résout le problème selon lequel jmp passe parfois à l'étape suivante sans s'assurer que la précédente est terminée.
Re : Savez-vous pourquoi mon script s'exécute entièrement lorsque je l'exécute manuellement mais qu'il ne fonctionne pas lorsque je l'exécute à partir d'une commande dans la barre d'outils ?@CrownofTears -- bien trop tard, je suppose, mais essayez d'ajouter
TabData << RunFormulas;
à la place du commentaire. Les formules de colonnes de JMP s'exécutent lorsque JMP est inactif, donc l'exécuter section par section permettra aux formules d'être évaluées. L'ajout d'instructions d'attente peut laisser aux formules suffisamment de temps d'inactivité pour se terminer, mais il est impossible de choisir le temps d'attente parfait. << RunFormulas est rapide. Habituellement, JMP peut déterminer quand il doit forcer la fin de l'exécution des formules ; Je suppose que
Col Std Dev(As Column(ListDelta[l]))
ne comprend pas.
Re : Savez-vous pourquoi mon script s'exécute entièrement lorsque je l'exécute manuellement mais qu'il ne fonctionne pas lorsque je l'exécute à partir d'une commande dans la barre d'outils ?Salut @Craige_Hales , nous devrions exactement ajouter le
TabData << RunFormulas;
Après ce commentaire ?
//STARTING FROM HERE THE SCRIPT DOES NOT RUN IN TOOLBAR MODE
si oui, cela a déjà été fait et cela n'a pas fonctionné 
Re : Savez-vous pourquoi mon script s'exécute entièrement lorsque je l'exécute manuellement mais qu'il ne fonctionne pas lorsque je l'exécute à partir d'une commande dans la barre d'outils ?(Oui, c'est ce que je voulais dire.)
Je devine.
Recevez-vous des messages dans la fenêtre de journal en cas d'échec ? Vous pouvez ajouter des instructions print() pour isoler l'échec.
Ma prochaine hypothèse est que la table de données actuelle () ne fait pas ce que vous attendez. Essayez d'utiliser la portée explicite de la table de données au lieu de dépendre de CurrentDataTable.
Dépendre de CurrentDataTable est une manière fragile de créer du code car
- cela peut changer lorsqu'une autre table devient actuelle (ce qui semble probable avec l'ouverture d'une nouvelle fenêtre)
- cela peut être différent selon les contextes (ce qui semble probable avec un contexte de barre d'outils en jeu)
Autre chose à essayer : décochez "utiliser l'espace de noms ici" dans la barre d'outils pour voir si cela fonctionne. Cela nous dira aussi quelque chose.