Tema: Varios Hilos
Ver Mensaje Individual
  #2  
Antiguo 29-01-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.286
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Se me ocurre que podrías crear una lista de Objetos (TObjectList) e ir guardando referencia de los threads que lanzas. Yo lo hago a menudo para tenerlos controlados.
Almacena en cada thread el resultado.
A medida que vayan finalizando no los destruyas (free) y controla cuantos todos ellos hayan finalizado.
Cuando estén todos acabados (sin liberar), recórrelos y guardas los datos en el StringGrid.
Luego ya podrás destruirlos.
Lo único es que durante ese tiempo estarás consumiendo recursos.

Otra opción sería crear una lista intermedia para ir almacenando los resultados a medida que los threads acaben. En este caso los puedes liberar.
Cuando estén todos finalizados pasa los datos de esa lista intermedia al stringrid.

Recuerda que si vas a realizar conexiones a BD, debes crear una conexión por thread. Eso en algunos casos, (si vas a lanzar 20) te puede traer problemas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita