Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Hilos En GAMBAS
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Hilos En GAMBAS 
 
Hola a todos

  Bueno, os cuento mi problema. Mi programa (Open Media Manager) se conecta a internet cuando se inicia. El objeto de esto es comprobar si existe una nueva versión para ofrecer un mensaje informativo acerca de esto al usuario. El problema es que a veces tarda un poco (apenas son unos segundos, pero deja mala imagen abrir un programa y que tarde ese tiempo en iniciarse). Tenía pensado hacer un hilo que compruebe esto en segundo plano pues no es prioritario y no afecta al resto del programa. El problema es que nuncá programé con hilos y ni siquiera se si se puede hacer en gambas. He buscado en el foro y no encontré nada.

  ¿alguna idea?

Muchas gracias
 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Hilos En GAMBAS 
 
netking86:

Fabian, comento algo, de que en las versiones actuales, Benoit, esta implentando algo sobre hilos... mirate los change log de las ultimas versiones...

Se me ocurren varias formas de implementar lo que quieres, seguramente no muy elegantes... pero guardaria la estetica de tu aplicacion...
Seria usando socket,,, el programa servidor Open Media Manager, estaria escuchando a un cliente y la mision de este cliente seria conectar con la web y comprobar la existencia de otra version... luego este cliente, cuando hace su trabajo,  informa al programa servidor del cambio. Si hay cambio, el servidor pondria un mensaje sobre la existencia de una nueva version....

Este programa "cliente" puede estar hecho en gambas, y empezaria su ejecucion con una orden SHELL O EXEC desde el servidor.

Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Jueves, 25 Octobre 2012, 18:54; editado 1 vez 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Hilos En GAMBAS 
 
jsbsan escribió: [Ver mensaje]
netking86:

Fabian, comento algo, de que en las versiones actuales, Benoit, esta implentando algo sobre hilos... mirate los change log de las ultimas versiones...

Se me ocurren varias formas de implementar lo que quieres, seguramente no muy elegantes... pero guardaria la estetica de tu aplicacion...
Seria usando socket,,, el programa servidor Open Media Manager, estaria escuchando a un cliente y la mision de este cliente seria conectar con la web y comprobar la existencia de otra version... luego este cliente, cuando hace su trabajo,  informa al programa servidor del cambio. Si hay cambio, el servidor pondria un mensaje sobre la existencia de una nueva version....

Este programa "cliente" puede estar hecho en gambas, y empezaria su ejecucion con una orden SHELL O EXEC desde el servidor.

Saludos


Hola!!

   La verdad es que lo tengo montado de un modo mucho más simple. El programa descarga de internet un archivo de texto alojado en la web del que lee información. No hace falta nada del estilo cliente/servidor ni cosas así. Sólo es un proceso que descarga un archivo pequeño. Quizá haya algo al estilo de DoEvents en BASIC que salve la situación sin demasiadas complicaciones
 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Hilos En GAMBAS 
 
Hasta ahora no existe la posibilidad de trabajar con hilos o multiproceso en gambas, aunque como dice Julio hace poco que leí algo sobre un componente nuevo "task" o algo así, que permitiría correr en paralelo algún otro proceso.

No obstante, creo que para lo que necesitas es simplemente usar un httpclient con la propiedad Async en True, que es como viene por defecto. Eso permite descargar datos de una web sin interrumpir el flujo del programa.

Mira el ejemplo #2 de este enlace para ver cómo hacerlo:

 http://gambasdoc.org/help/comp/gb.net.curl/httpclient

Este método lo uso en un programa para la misma finalidad de comprobar la versión y todo va muy fluido, no se interrumpe main loop.

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: Hilos En GAMBAS 
 
jguardon escribió: [Ver mensaje]
Hasta ahora no existe la posibilidad de trabajar con hilos o multiproceso en gambas, aunque como dice Julio hace poco que leí algo sobre un componente nuevo "task" o algo así, que permitiría correr en paralelo algún otro proceso.

No obstante, creo que para lo que necesitas es simplemente usar un httpclient con la propiedad Async en True, que es como viene por defecto. Eso permite descargar datos de una web sin interrumpir el flujo del programa.

Mira el ejemplo #2 de este enlace para ver cómo hacerlo:

 http://gambasdoc.org/help/comp/gb.net.curl/httpclient

Este método lo uso en un programa para la misma finalidad de comprobar la versión y todo va muy fluido, no se interrumpe main loop.

Saludos


Muchas gracias JGuardon, me viene perfecto.

Un saludo!
 




===================
Proyecto Open Media Manager -> http://www.OpenMediaManager.com
 
netking86 - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Hilos En GAMBAS 
 
he investigado el tema mucho , y por lo visto no se puede, pero me confunde, porque cuando uno abre un formulario este es realmente una especie de hilo que responde a eventos, esto es porque mientras se ejecuta un evento el ciclo sigue (ver en la wiki instruccion wait)

en gambas 3 tenemos aparte de shell ahora process, y las llamadas a programas externos es a travez de procesos manejables (bueno mas bien una consola interna seria un ejemplo mas cercano a la realidad) aiunque no los manejamos con señales

no es un time algo similar en el formulario?
 



 
mckaygerhard - 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 Diálogos En GAMBAS soplo General 11 Martes, 13 Julio 2010, 11:58 Ver último mensaje
AnSnarkista
No hay nuevos mensajes Programación De Hilos En Gambas MiguelVelandia Aplicaciones/Fragmentos de Código 4 Martes, 12 Noviembre 2013, 11:41 Ver último mensaje
jsbsan
No hay nuevos mensajes El Tema De Los Colorines De Los Hilos Visi... shordi Sobre Gambas-es 0 Miercoles, 05 Abril 2017, 18:12 Ver último mensaje
shordi
No hay nuevos mensajes Simulando La Programación Con Hilos O &qu... shordi Aplicaciones/Fragmentos de Código 6 Lunes, 29 May 2017, 11:13 Ver último mensaje
tercoIDE
 

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