À partir de Catalina, Mac OS prend en charge les contrôles de confidentialité sur certains dossiers. Si, par exemple, un script essaie de lire un fichier sur le Bureau avec Importation de fichiers multiples , vous obtiendrez une fenêtre contextuelle indiquant que JMP Pro 16.app souhaite accéder aux fichiers de votre dossier Bureau . Si vous sélectionnez D'ACCORD , tout fonctionne bien. Mais si vous sélectionnez Ne pas autoriser , l'instruction MFI échouera sans erreur d'exécution, mais pourrait échouer plus tard (puisqu'une table de données n'a pas été renvoyée). Un exemple de code est :
fileList = Pick File( "Choose Insight File(s)", "~/Downloads", {"csvOnly|csv"}, 1, 0, "", "multiple" );
:
Multiple File Import( ... );
dt = Current Data Table();
allCols = dt << Get Column Names( String );Dans ce cas, il n'y a pas de table de données actuelle, donc dt n'est pas défini et l'instruction Get Column Names échoue avec le message suivant :
Send Expects Scriptable Object in access or evaluation of 'Send' , dt << /*###*/Get Column Names( String ) /*###*/
La question est : quelle est la méthode recommandée pour déterminer que la commande d'importation de fichiers multiples n'a pas réussi à ouvrir et à lire un fichier ?
Après avoir sélectionné Ne pas autoriser dans la fenêtre contextuelle, la question ne sera plus posée à l'avenir et MFI échouera simplement. (Notez que le paramètre peut être modifié à tout moment dans Préférences système, Sécurité et confidentialité, Confidentialité, Fichiers et dossiers, JMP Pro 16.app.)
Plus généralement, pourquoi la commande Choisir un fichier a-t-elle permis à la fenêtre de navigation d'accéder aux fichiers sur le bureau ? Il semble que les dossiers privés doivent être exclus de la fenêtre de navigation.
Je vois également que ce n'est pas un problème dans JMP 15. Donc, le respect de la confidentialité des dossiers est apparemment quelque chose qui a été ajouté dans JMP 16. (J'utilise 16.2.0.)
Salut,
Je pense que vous voudrez peut-être contacter le support technique ( support@jmp.com ) avec cette requête.
Salutations,
Phil