Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Comunicación Con Otra Aplicación Gambas
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Comunicación Con Otra Aplicación Gambas 
 
Deseo ejecutar una pequeña aplicación gambas desde otra aplicación gambas y que sea en modal y pasarle valores al momento de mandarla a ejecutar.



EDITADO PARA DAR MAYOR INFORMACION

Asi llamo a la otra aplicación y trato de pasarle un parametro

EXEC ["Nombre de la aplicacion a ejecutar", NombArchivo] WAIT
 



la aplicación que recibe el parámetro la cual se encuentra ejecutable posee:

un modulo principal
un formulario

el problema esta en la declaración del modulo principal para que reciba el parámetro

Lo hice asi, pero me da error de argumento

' gambas module file
PUBLIC SUB Main(Archivo as String)

 FMain.UrlTexto(Archivo)
 FMain.ShowModal()

  
END




Gracias por la ayuda.
 



 
última edición por GambasLinux el Sabado, 20 Febrero 2010, 04:05; editado 3 veces 
GambasLinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
buenas amigo gambero jejejej bueno es fácil desde exec haces el llamado eso es la consola y sobre lo de lo otro es creo que con una base de dato sqlite guarda temporalmente los datos y después lo abres en el otro bueno eso digo yo no se alo mejor hay otro método
 



 
alexprox - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
http://foro.gambas-es.org/viewtopic.php?t=440&p=2510#p2510

¿Por qué ves diferente que el proceso a ejecutar sea una aplicación gambas o una en c o un script bash o lo que sea?

Es un proceso y ya está.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
soplo escribió:  
http://foro.gambas-es.org/viewtopic.php?t=440&p=2510#p2510

¿Por qué ves diferente que el proceso a ejecutar sea una aplicación gambas o una en c o un script bash o lo que sea?

Es un proceso y ya está.


No la veo clara pues en ese post hay son clases y un solo programa y esta dentro de la misma aplicación me parece...

Yo tengo dos aplicaciones ejecutables

Aplicacion1.gambas  
Aplicacion2.gambas


estando en la Aplicacion1.gambas ejecuto a la aplicación2.gambas  y eso sucede pero siento dificultad para que la Aplicacion2 reciba el parámetro que le estoy enviando.
 



 
GambasLinux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
Mírate el componente gbsettings. Con él puedes crear un fichero de configuraciones con el formato clásico

[Nombre de catergoria]
parametro1=valor
parametro2=valor
...

Luego es sencillísimo que el formulario main busque el mencionado fichero y se adapte a los parámetros que le hayas colocado desde el primero programa.

Suerte
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
Pues hombre es que tu lanzas un proceso. Da igual como esté codificado ese proceso. Tu puedes enviarle datos a ese proceso (como a cualquier otro) y también puedes capturar la salida de ese proceso y evaluarla. También tienes un evento el caso de un error. iniciarlo, pararlo, etc.

El caso anterior es que tu programa ejecute a otro programa. Si es así lo de antes es plenamente válido. Otra cosa es que me digas que el usuario lanzó un proceso y un rato despues escogió orra opción y lanzó otro. Si en ese caso tu quieres que ambos se conecten no te vale el método anterior. Solo en ese caso.

En este segundo caso tu deberías mirar la lista de procesos corriendo (ps -ef | grep tu programa) a ver si está allí. Si está entonces deberías comunicar con él por medio de sockets o bien porque uno deja una información (en settings, una tabla o un archivo plano) y el otro la recoge.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
A ver. Yo creo que lo que quiere hacer es llamar a otra aplicación gambas desde su aplicación original.

Esto se puede hacer con EXEC ["ruta a la aplicación2.gambas"] pero Gambaslinux quiere pasar ciertos datos como parámetros desde la "Aplicación1" que es la que llama a la "Aplicacion2".

Para recibir esos parámetros necesitas usar un módulo de inicio y su evento Main de esta manera:

PUBLIC SUB Main() 'evento que recibe los parámetros
DIM argumento AS String
' ejemplo que recorre el array de argumentos
FOR EACH argumento IN Application.Args
    PRINT argumento
NEXT

END


Application.Args es un array y siempre tiene al menos un elemento, que es el índice 0 y contiene el nombre de la aplicación. A partir del 1, serán los argumentos que le pases al ejecutable separados por un espacio de esta forma:

miaplicacion2.gambas argumento1 argumento2 etc

O sea, que entonces Application.Args[1] tendrá el valor  "argumento1", Application.Args[2] tendrá el valor  "argumento2", y así sucesivamente.

Para escribirlo en gambas, tendrías que hacer:

EXEC ["ruta a mi aplicacion2.gambas", "argumento1", "argumento2", "etc"]


Si lo que necesitas es pasar un archivo, puedes pasar su "ruta", pero tendrás problemas para "escapar" los caracteres especiales... la opción de escribir un fichero con la ruta y leer luego ese fichero, suena bastante aceptable, o bien las otras soluciones propuestas usando gb.settings o una bd.

Respecto al Showmodal en la "aplicacion2" no creo que sea posible ya que al no es el mismo proceso y no tiene un "padre".

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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
Citar:
A ver. Yo creo que lo que quiere hacer es llamar a otra aplicación gambas desde su aplicación original.

Esto se puede hacer con EXEC ["ruta a la aplicación2.gambas"] pero Gambaslinux quiere pasar ciertos datos como parámetros desde la "Aplicación1" que es la que llama a la "Aplicacion2".


En la clase que inicia el proceso pongo esto
private Proc as proccess
public sub _new(comando as string)
proc=exec(comando)
end


Así que cuando inicio mi aplicación e instancio la clase ya se ejecuta el proceso con los parámetros que yo quiera
public sub main()
Dim MiComando as string="tail -f archivo.log"
Dim C as NEW ClaseProceso(micomando)
...
end


Así que al instanciar la clase se ejecuta un proceso que irá a su rollo. Si tras esa instanciacion quieres abrir uno o siete formularios es otra cosa, el proceso seguirá a lo suyo. Los parámetros que se le pasen son jugar con un string o lo que se quiera. También podrían ser propiedades u otros parámetros que se le pasan a la case de una forma u otra. Al final hay un comando que es el que se ejecuta en el exec y que incluye la orden y sus parámetros.

Me molesté en escribir una clase que ponía propiedades y métodos para lanzar el proceso y comprobar su estado, arrancarlo, pararlo o reiniciarlo a voluntad, pero es evidentemente un error porque no se ha leído. Esto me pasa por tener interes en que algo se comprenda. No es un reproche a nadie, solo una reflexión interior. El caso que yo puse está bien desde un principio

 
 



 
última edición por soplo el Lunes, 22 Febrero 2010, 21:12; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
Soplo, ¿has borrado tu post donde ponías la clase sobre el manejo de los procesos?
 




===================
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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Comunicación Con Otra Aplicación Gambas 
 
No no, aquí está

La clase process
http://foro.gambas-es.org/viewtopic...ghlight=process

Lo que pasa es que igual conviene cambiarle el título o aún mejor pasarla a la base de conocimientos. A mi también me ha costado encontrarlo pero sabía que estaba. Menos mal que aún se puede encontrar algo buscando secuencialmente que si no me da algo.

Se me ocurre que quizá para algunos post interesantes pero que no merecen estar en la base de conocimientos se puede hacer un único post con chincheta donde aparezca un índice de post importantes por la razón que sea y que los moderadores cuando veis algo que merece la pena ir al índice lo añadis.

O quizá utilizar esas opciones que aún no he usado de observar o seguir algunos hilos interesantes, No se bien como funcionan estas cosas pero este sitio está lleno de cositas de esas que algún día me pondré a probar a ver que tal ja ja ja.

El caso es que está dificil de encontrar y posiblemente no sea el único.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Desinstalar Una Aplicación Hecha Con Gambas kotonfree General 2 Martes, 14 Diciembre 2010, 22:51 Ver último mensaje
kotonfree
No hay nuevos mensajes Como Cerrar Un Aplicación Ajena A Gambas kotonfree General 3 Sabado, 23 Abril 2011, 17:46 Ver último mensaje
kotonfree
No hay nuevos mensajes SI Quiero Ejecutar Una Archivo Ejecutable ... metalgearxd General 8 Sabado, 09 Febrero 2013, 01:40 Ver último mensaje
shordi
No hay nuevos mensajes Aplicación De Gambas Online Shell General 6 Sabado, 29 Junio 2013, 08:59 Ver último mensaje
codificador
 

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


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron