4D v16.3LAUNCH EXTERNAL PROCESS |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
LAUNCH EXTERNAL PROCESS
LAUNCH EXTERNAL PROCESS
El comando LAUNCH EXTERNAL PROCESS permite iniciar un proceso externo de 4D, bajo Mac OS X y Windows. Pase en el parámetro nomArchivo la ruta de acceso de la aplicación a ejecutar, como también los argumentos requeridos (si es necesario). Bajo Mac OS X, puede igualmente pasar únicamente el nombre de la aplicación a ejecutar; 4D utilizará entonces la variable del entorno PATH para ubicar el ejecutable. Advertencia: este comando sólo puede iniciar aplicaciones ejecutables; no puede ejecutar instrucciones que hagan parte del shell (interprete de comandos). Por ejemplo, bajo Mac OS no es posible utilizar este comando para ejecutar la instrucción echo o las indirecciones. El parámetro flujoEntrada (opcional) contiene el stdin del proceso externo. Una vez el comando haya sido ejecutado, los parámetro flujoSalida y flujoError (si se pasan) devuelven respectivamente el stdout y el tderr del proceso externo. Puede utilizar los parámetros de tipo BLOB en lugar de las cadenas de caracteres si maneja datos binarios (como imágenes). Nota: si utiliza la variable del entorno _4D_OPTION_BLOCKING_EXTERNAL_PROCESS vía el comando SET ENVIRONMENT VARIABLE (ejecución asincrónica), los parámetros flujoSalida y flujoError no se devuelven. Cuando se pasa, el parámetro pid (entero largo) devuelve el ID único del proceso creado para lanzar el comando, independientemente del estado de la opción _4D_OPTION_BLOCKING_EXTERNAL_PROCESS. Con esta información, es más fácil interactuar con los procesos externos creados por el comando, por ejemplo. para detenerlo. Si el lanzamiento del proceso falla, no se devuelve el parámetro pid. Los siguientes ejemplos utilizan el Terminal Mac OS X, disponible en la carpeta Aplicaciones/Utilidades. 1. Para modificar los accesos a un archivo (chmod es el comando Mac OS X utilizado para modificar el acceso a los archivos): LAUNCH EXTERNAL PROCESS("chmod +x /carpeta/miarchivo.txt") 2. Para editar un archivo de tipo texto (cat es el comando Mac OS X utilizado para editar los archivos). En este ejemplo, se pasa la ruta de acceso completa del comando: C_TEXT(entrada;salida) 3. Para obtener los contenidos de la carpeta “Usuarios” (ls -l es el equivalente Mac OS X del comando dir en DOS): C_TEXT($In;$Out) 4. Para iniciar una aplicación "gráfica" independiente, es preferible utilizar el comando sistema open (en este caso, la instrucción LAUNCH EXTERNAL PROCESS tiene el mismo efecto que hacer doble clic en la aplicación): LAUNCH EXTERNAL PROCESS("open /Applications/Calculator.app") 5. Para abrir NotePad: LAUNCH EXTERNAL PROCESS("C:\\WINDOWS\\notepad.exe") 6. Para abrir Notepad y abrir un documento específico: LAUNCH EXTERNAL PROCESS("C:\\WINDOWS\\notepad.exe C:\\Docs\\nueva carpeta\\res.txt") 7. Para iniciar la aplicación Microsoft® Word® y abrir un documento específico (Note el uso de las dos ""): $midoc:="C:\\Program Files\\Microsoft Office\\Office10\\WINWORD.EXE \"C:\\Documents and 8. Para ejecutar un script Perl (es necesario ActivePerl): C_TEXT($entrada;$salida) 9. Para iniciar un comando con el directorio actual y sin mostrar la consola: SET ENVIRONMENT VARIABLE("_4D_OPTION_CURRENT_DIRECTORY";"C:\\4D_VCS") 10. Para permitir al usuario abrir un documento externo en Windows: $nomdoc:=Select document("";"*.*";"Elija el archivo a abrir";0) 11. Los siguientes ejemplos recuperan la lista de procesos bajo Windows: C_LONGINT($pid) Si el comando ha sido ejecutado correctamente, la variable sistema OK toma el valor 1. De lo contrario (archivo no encontrado, memoria insuficiente, etc.), toma el valor 0.
Ver también
|
PROPIEDADES
Producto: 4D HISTORIA
Creado por: 4D 2004 ARTICLE USAGE
Manual de lenguaje 4D ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||