Cita:
Empezado por duranguenze
el punto es que tendria que meter bastantes procesos en hilos, y se me hacia mas facil pensar ....
|
Ves?
Te dije (y en mayusculas!) que DEBES leer primero sobre el tema ANTES de implementar una solucion!
En serio!
El manejo multi-hilos es lo mas DIFICIL de la programacion (y por mucho - en comparacion punteros es facilisimo) ya que casi todos los lenguajes usan un modelo abrumadoramente ineficiente que lo hace mas dificil de lo que es!. PERO manejar 2 hilos? Es pan comido.
NO necesitas *muchos* hilos. Con lo que hablas seguro puedes con solo 2 (1 es el hilo principal, o sea la GUI, o sea, que no te preocupes por ello y el otro es el "background" en el cual haces las consultas).
O, si realmente se ejecutan consultas sucesivas (una detras de otra, tambien es facil. Igual sigues usando 1 sola clase de thread y metes los resultados en una lista manejandolo tipo Queue.
Asi que antes de intentes el modelo de ejecutar exes aparte (que es una solucion correcta, pero no en este caso) - y mucho menos como cuentas, asi no se hace - sigue el ejemplo que te di y el que te pasa neftali.
Es muy facil. En en el metodo execute creas la conexion, la consulta, lo ejecutas y guardas los resultados (preferiblemente con un TClientDataSet ya que debes desconectarte antes de retornar al otro thread, y asi no tendrias lios con la sincronizacion, que es la parte dificil de todo).