Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Multihilo con BDE (https://www.clubdelphi.com/foros/showthread.php?t=67097)

GerTorresM 28-03-2010 23:24:09

Multihilo con BDE
 
Hola a todos:

la situación de hoy es la siguiente:

estoy desarrollando una aplicación y tengo un formulario que debe ejecutar dos barras de progreso, estas barras debe correr teniendo en cuenta la ejecución de un proceso, para mi caso progreso general y progreso parcial.

En ese orden de ideas amarre las propiedades del TProgressBar a la ejecución del procedimiento, hasta ahí todo va de acuerdo a lo planeado, pero una vez empieza a correr la aplicación, tan solo con mover el mouse se queda como congelado y muertos por ese lado; pense en usar un barra asociada a un hilo, pero la cosa se queda igual.

Visto esto probe ejecutar hasta el hilo y su creación antes de enviar a la ejecución de la operacion con un Dataset (while not eof ) y corre sin problemas pero apenas toca los registros del dataset hombre muerto.

alguien sabe como lograr la creación de un hilo que me permita hacer esto, es decir trabajar con los registros del Dataset y correr mi barra de progreso.



Agradezco de antemano



gertorresm
Colombioa

tgsistemas 29-03-2010 01:34:08

Hola GerTorresM,

según lo que he entendido, quieres mostrar una progressbar que se desplace a medida que recorra los registros del dataset.

Podría ser algo así :
Código Delphi [-]
//utilizo TGauge pero sería lo mismo
Gauge1.MaxValue := 0; 
Gauge1.MaxValue := Dataset.recordcount;
Dataset.DisableControls; // si hay componentes visuales asociados!!
Dataset.First;

try
//operaciones con el dataset
//bla
//bla
finally
Gauge1.Progress := Gauge1.Progress + 1; //añade una posicion al gauge
dataset.Next;
end;
Dataset.Enablecontrols; //importante si hay componentes visuales asociados!!
comprueba el disable/enableControls si tienes componentes visuales (DBEdit, DBGrid, etc...) asociados al dataset.

Saludos.


La franja horaria es GMT +2. Ahora son las 16:33:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi