Bonjour,
Je reconnais que cela pourrait être vague et je m'excuse, je ne suis pas entièrement libre de montrer toutes les données que je manipule, mais je ferai de mon mieux pour fournir le plus d'informations possible.
On m'a fourni un complément JMP pour effectuer une régression 4PL. Ce complément est une combinaison de fichiers JMP et d'un exécutable. Je n'ai pas de droits d'accès à l'exécutable (je ne peux pas éditer ce fichier). Les fichiers JMP du complément fournissent un nettoyage des données pour l'exécutable, puis appellent celui-ci. L'exécutable interagit avec le fichier ouvert, il mettrait simplement à jour le fichier avec les données 4PL et le tour est joué.
Ma tâche était d’automatiser le processus d’exécution de l’ajout, nous avons plusieurs fichiers d’entrée à exécuter quotidiennement. L’approche que j’avais l’intention de prendre consistait à prendre le fichier qui exécute l’exécutable et à le traiter / l’envelopper comme une fonction; je parcourais ensuite ma liste de tableaux de données.
Je l'ai fait par morceaux:
- Je me suis d'abord assuré que l'exécutable travaillait sur les données d'entrée.
- J'ai ensuite écrit la fonction et une fenêtre de script séparée ("wrapper") pour sélectionner la table de données et la transmettre à la fonction. Je l'ai fait pour un seul fichier et cela a fonctionné correctement.
Voici mon "wrapper" pour appeler la fonction, le code ci-dessous fonctionne correctement:
include("$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl");
test1 = data table("First Data Table for Script");
var_1 = DRIA_func(test1);Cependant, une fois que cela est exécuté, la fenêtre de script ci-dessus se ferme, je n'en ai pas le contrôle et je ne peux pas l'arrêter. Si je devais ajouter une deuxième table de données, l'erreur suivante est observée dans le journal:
In the following script, error marked by /*###*/
Include( "$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl" );
test1 = Data Table( "First Data Table for Script" );
var_1 = DRIA_func( the_table_test1 );
test2 = Data Table( "Second Data Table for Script" );
var_2 = DRIA_func( the_table_test2 ) /*###*/;
Je ne sais pas pourquoi la fenêtre de script se ferme, mais j'imagine que cela est à l'origine de l'erreur.
Le script JMP que je suis en train de transformer en une fonction; si je l'exécute seul, il fournit le résultat correct à la table de données mais force également la fermeture.
La seule référence que j'ai est ce lien de communauté:
https://community.jmp.com/t5/Discussions/C-closes-JMP-after-running/td-p/35678
D'après ce que j'ai compris, cela fait partie du codage C # et ce n'est pas quelque chose que je peux atténuer dans / via JMP. Je suis la seule ressource à ce sujet, et avant de conclure que c'est un problème avec l'exécutable, je voulais demander aux experts ici!
Merci de votre aide!