Ver Mensaje Individual
  #1  
Antiguo 15-01-2010
eugenio_vb eugenio_vb is offline
Registrado
 
Registrado: ene 2010
Posts: 2
Reputación: 0
eugenio_vb Va por buen camino
Question Cuestionamiento con Hilos

Tengo un problema que no se como resolverlo por medio de Delphi, la cuestión es la siguiente:

- Supongamos que tengo una clase derivada de TThread llamada MiHilo la cual contiene varios metodos y dentro del Execute hay un loop repeat que debe estar en ejecuccion siempre durante la ejecucion del programa (ya que es un Servidor TCP y debe atender las peticiones de los clientes)

- Dentro de la clase MiHilo existe un método funcion llamado MiFuncion que devuelve un cierto valor el cual se obtiene de los procesos que se realizan dentro de Execute y que son generados dadas ciertas condiciones por lo que el tiempo que tardan en generarse es variable.

Si llamo MiFuncion (de un objeto instanciado de la clase MiHilo) desde el hilo principal del programa (ya sea por medio de algun evento de un boton o algo por el estilo) el programa principal no debe de continuar con las siguientes instrucciones ya que debe de tener el valor de regeso de MiFuncion.

El problema aqui es como hacer que MiFuncion espere a obtener los valores generados por Execute para posteriormente regresarselos al hilo principal del programa... todo esto sin alterar la ejecucion de Execute, ya que si meto un ciclo repeat en MiFuncion para esperar la respuesta (por medio de alguna bandera para saber que Execute tiene el resultado), la respuesta de Execute nunca llegara ya que MiHilo estara atorado en MiFuncion y Execute no podria seguir ejecutandose.

Que solucion podria existir a este problema???

Gracias por su tiempo.
Responder Con Cita