J'ai écrit un script dans lequel si un dossier n'existe pas, un dossier sera créé. Le chemin mène à un dossier réseau partagé. J'ai un accès en modification au dossier partagé et le script fonctionne bien pour moi. Cependant, lorsqu'un collègue qui n'a qu'un accès en lecture au dossier partagé exécute le script, JMP se bloque lorsqu'il atteint la section de code ci-dessous. JMP ferme complètement tout, même le fichier journal, donc je ne peux pas voir s'il y a une erreur. Et ça marche bien pour moi.
Vous vous demandez pourquoi cela se produit ?
datestamper = Long Date( Today() );
timestamp = MDYHMS( Today() );
dtname = New Table( "UserName",
add rows( 1 ),
New Column( "Time", Character, "nominal", set each value( timestamp ) )
);
dtname:Time << set data type( Numeric ) << Format( ("ddmonyyyy h:m:s"), Input Format( "mm/dd/yyyy h:m:s" ) );
dtname:Time << set data type( Character );
dtname << New Column( "Folder", Character, nominal, formula( Substr( :Time, 3, 7 ) ) );
foldername = Char( :Folder );
path = ("S:\Lab\JMP\Results\Data\" || Char( foldername ) || "\");
If( !Directory Exists( path ),
Create Directory( path ),
Print( path || " already exists." );
Wait( 0 );
);
Merci Craig, vous aviez raison avec la modification 1 (\\server\path\file). Une fois j'ai mappé le serveur plutôt que s : cela a parfaitement fonctionné. merci mille fois pour votre aide 
J'utiliserais un script comme celui-ci pour affiner le problème:
// Create a log file on disk. Append each line to the end.
_LogFileName = "$desktop/JMP_log_file.txt";
// clear any old data and make sure the file exixts:
Save Text File( _LogFileName, Format( Today(), "h:m:s" ) || " starting\!n", Mode( "replace" ) );
addLog = Function( {txt},
Save Text File( _LogFileName, Format( Today(), "h:m:s" ) || " " || Char( txt ) || "\!n", Mode( "append" ) )
);
// example:
addlog( "begin loop" );
For( i = 1, i < 3, i += 1,
addlog( "looping " || Char( i ) )
);
addlog( "done" );
Open( _LogFileName, "script" ); // open in a script editorAprès le crash, le fichier (sur le bureau dans cet exemple) affichera le dernier appel à addlog sur la dernière ligne du fichier. Après quelques essais, vous pouvez probablement réduire le problème à une seule déclaration. Je suppose que ce sera lié au lecteur réseau ; assurez-vous d'ajouter les noms de fichiers et autres au fichier journal. Utilisez char() pour convertir des valeurs non textuelles en texte.
JMP ne devrait pas planter ; même si vous trouvez une solution de contournement, ce serait bien de signaler le problème au support technique, merci !
edit 1 : Je serais particulièrement méfiant si la carte de lecteur S : n'est pas la même sur les deux ordinateurs. Utilisant un UNC name peut être une solution de contournement si tel est le problème (\\server\path\file).
edit 2: je pense qu'il peut y avoir un problème avec la colonne de formule ou la ligne actuelle du tableau également. Quelque chose comme ça (non testé) pourrait être mieux :
datestamper = Long Date( Today() );
timestamp = MDYHMS( Today() );
dtname = New Table( "UserName",
add rows( 1 ),
New Column( "Time", Character, "nominal", set each value( timestamp ) )
);
dtname:Time << set data type( Numeric ) << Format( ("ddmonyyyy h:m:s"), Input Format( "mm/dd/yyyy h:m:s" ) );
dtname:Time << set data type( Character );
dtname << New Column( "Folder", Character, nominal, formula( Substr( :Time, 3, 7 ) ) );
dtname << runFormulas; // force the formulas to run now
foldername = Char( dtname:Folder[1] ); // explicit table and row subscript
path = ("S:\Lab\JMP\Results\Data\" || Char( foldername ) || "\");