Autor |
Mensaje |
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Try Shell, Try Exec
Buenas!.
Probando Try con Shell, no me devolvía un error aposta.
Por ejemplo, no puedo hacer esto:
Debo hacer:
El error es producido a "drede" ya que el verdadero nombre del comando es mame.
Lo he cargado desde el propio directorio de la aplicación "temporalmente".
No me interesa copiar, sobre todo si es algo que tengo que probar y subirlo a vosotros por si tengo alguna duda.
Supongo que no hay otra forma de comprobar si disponemos del comando en el sistema.
En mi caso yo lo tengo, pero si subo el ejemplo a la comunidad, lo subo con el archivo de texto que contiene todos los clones.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#1 Domingo, 01 May 2016, 10:07 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Try Shell, Try Exec
No entiendo nada
=================== No podemos regresar
|
#2 Lunes, 02 May 2016, 09:20 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Try Shell, Try Exec
Shordi:
Pues que en el caso de Try Shell. Estoy probando a intentar a ejecutar un comando que no existe en el sistema para que de error y
se ejecute la linea siguiente: If Error...pero no lo hace
En cambio si ejecuto Try Exec, gambas se da cuenta de que se produce un error y va correctamente a lo que dice If Error que haga.
Entonces, la pregunta es. ¿ Por qué le ocurre eso con Try Shell ?.
¿ Debí declarar la instrucción con Shell con una variable de tipo proceso ?.
Es fácil de probar son dos lineas. Podrías probar:
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Lunes, 02 May 2016, 09:38 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Try Shell, Try Exec
Citar: Entonces, la pregunta es. ¿ Por qué le ocurre eso con Try Shell ?.
Pues porque cuando usas Shell lo que haces es abrir una shell con su entorno de ejecución propio dentro de la cual se lanza el comando que le pases. La salida estandar del sistema y la salida de errores son los propios de la shell que lanzas, no de la shell que está lanzando tu programa. Es decir: No puede haber error en tu salida de errores porque la shell se ha ejecutado correctamente (otra cosa es que dentro de ella haya un error)
Exec, por el contrario no funciona así, lanza el comando dentro de tu propia shell y es más simple (y ràpido)
That's why my friend...
=================== No podemos regresar
|
#4 Lunes, 02 May 2016, 12:19 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Try Shell, Try Exec
Ajaaa..
Pues para estas cosas parece mejor usar Exec. Ya ves, yo que soy siempre más de usar Shell que Exec. Y no es por publicidad ni nada de eso.
Saludos.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Lunes, 02 May 2016, 12:30 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Try Shell, Try Exec
Citar: Pues para estas cosas parece mejor usar Exec.
La diferencia es el entorno de ejecución, con Shell dispones de toda la potencia del entorno: variables del sistema, paths, etc. con Exec, puede ser más complicado según qué quieras hacer.
Como norma general:
-Para comandos simples Exec
-Para cosas más complejas Shell
Saludos
=================== No podemos regresar
|
#6 Lunes, 02 May 2016, 12:34 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Try Shell, Try Exec
Y si usas shell, puedes declarar un proceso en gambas para leer la salida estándar y/o la de errores y actuar en consecuencia.
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#7 Lunes, 02 May 2016, 18:18 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Try Shell, Try Exec
Probare a hacer algo con procesos y Shell a ver que hace con la salida de errores.
Lo cierto es que en el manual de gambas trata mas Exec que Shell.
Aunque los califica de muy parecidos.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#8 Lunes, 02 May 2016, 18:34 |
|
|
|