Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Try Shell, Try Exec

Try Shell, Try Exec
Artículo
Responder citando    Descargar mensaje  
Mensaje Try Shell, Try Exec 
 
Buenas!.

Probando Try con Shell, no me devolvía un error aposta.

Por ejemplo, no puedo hacer esto:

Try Shell "mameu -listclones" To contenido
 If Error Then contenido = File.Load(Application.Path & "/listadeclonesMAME.txt")
 


Debo hacer:

Try Exec ["mameu", "-listclones"] To contenido    
If Error Then contenido = File.Load(Application.Path & "/listadeclonesMAME.txt")
 


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



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Domingo, 01 May 2016, 10:07 ]
 


Try Shell, Try Exec
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Try Shell, Try Exec 
 
No entiendo nada    



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 02 May 2016, 09:20 ]
Responder citando    Descargar mensaje  
Mensaje 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:

Try Shell comandonoexiste
If Error Then Print "Ese comando no existe en el sistema!"
 


Saludos



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 02 May 2016, 09:38 ]
Responder citando    Descargar mensaje  
Mensaje 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...      



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 02 May 2016, 12:19 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 02 May 2016, 12:30 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 02 May 2016, 12:34 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Lunes, 02 May 2016, 18:18 ]
Responder citando    Descargar mensaje  
Mensaje 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



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 02 May 2016, 18:34 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron