4D v16.3LAUNCH EXTERNAL PROCESS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
LAUNCH EXTERNAL PROCESS
LAUNCH EXTERNAL PROCESS
La commande LAUNCH EXTERNAL PROCESS permet de lancer un process externe depuis 4D, sous Mac OS X et Windows. Passez dans le paramètre nomFichier le chemin d’accès absolu de l’application à exécuter ainsi que les arguments nécessaires, le cas échéant. Attention : Cette commande permet uniquement de lancer des applications exécutables, elle ne peut pas exécuter d'instructions dépendantes du shell (l'interpréteur de commandes). Par exemple, sous Mac OS il n'est pas possible d'utiliser cette commande pour exécuter l'instruction echo ou des indirections. Le paramètre fluxEntrée (facultatif) contient le stdin du process externe. Après l’exécution de la commande, les paramètres fluxSortie et fluxErreur (s’ils sont passés) retournent respectivement le stdout et le stderr du process externe. Vous pouvez utiliser des paramètres de type BLOBs au lieu de chaînes de caractères si vous traitez des données binaires (telles que des images). Note : Si vous utilisez la variable d'environnement _4D_OPTION_BLOCKING_EXTERNAL_PROCESS via la commande SET ENVIRONMENT VARIABLE (exécution asynchrone), les paramètres fluxSortie et fluxErreur ne sont pas retournés. Lorsqu'il est passé, le paramètre pid (entier long) retourne l'identifiant unique du process (PID) affecté au niveau de l'OS, quel que soit le statut de l'option _4D_OPTION_BLOCKING_EXTERNAL_PROCESS. Avec cette information, il est plus facile d'interagir avec les process externes créés par la commande, par exemple pour les stopper. Si le lancement du process externe échoue, le paramètre pid n'est pas retourné. Tous les exemples suivants utilisent le Terminal de Mac OS X, accessible dans le dossier Applications/Utilitaires. (1) Pour modifier les accès à un fichier (chmod est la commande Mac OS X permettant de modifier les accès des fichiers) : LAUNCH EXTERNAL PROCESS("chmod +x /dossier/monfichier.txt") (2) Pour éditer un fichier texte (cat est la commande Mac OS X permettant d’éditer les fichiers). Dans cet exemple, le chemin d’accès absolu de la commande est passé : C_TEXT(vtentrée;vtsortie) (3) Pour récupérer la liste du contenu du dossier “Users” (ls -l est semblable à la commande dir du DOS) : C_TEXT($In;$Out) (4) Pour lancer une application "graphique" indépendante, il est préférable d'utiliser la commande système open (dans ce cas l'instruction LAUNCH EXTERNAL PROCESS a le même effet qu'un double-clic sur l'application) : LAUNCH EXTERNAL PROCESS("open /Applications/Calculator.app") (5) Pour lancer l’application NotePad : LAUNCH EXTERNAL PROCESS("C:\\WINDOWS\\notepad.exe") (6) Pour lancer l’application NotePad et ouvrir un document spécifique : LAUNCH EXTERNAL PROCESS("C:\\WINDOWS\\notepad.exe C:\\Docs\\nouveau dossier\\res.txt") (7) Pour lancer l’application Microsoft® Word® et ouvrir un document spécifique (à noter l’emploi de deux "") : $mondoc:="C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.EXE \"C:\\Documents and (8) Pour exécuter un script Perl (requiert l’installation préalable d’ActivePerl) : C_TEXT($entrée;$sortie) (9) Pour lancer une commande avec un répertoire courant défini et sans afficher la console : SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";"C:\\4D_VCS") (10) Pour permettre à l'utilisateur d'ouvrir un document externe sous Windows : $nomdoc:=Select document("";"*.*";"Choisissez le fichier à ouvrir";0) (11) Les exemples suivants récupèrent la liste des process sous Windows : C_LONGINT($pid) Si la commande a été exécutée correctement, la variable système OK prend la valeur 1. Sinon (fichier non trouvé, mémoire insuffisante, etc.), elle prend la valeur 0.
Voir aussi
|
PROPRIÉTÉS
Produit : 4D HISTORIQUE
Créé : 4D 2004 UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||