PDA

Ver la Versión Completa : Ventana de Progreso...


craven
10-08-2003, 12:53:09
Hola a todos nuevamente. Os escribo para consultaros una cosa. En el programa que estoy realizando he creado una clase TMIA que hereda de TThread sus características. Esta hebra realiza una determinada tarea y me interesaría mostrar el progreso de la misma en una ventana flotante con barra de progreso y el tiempo que hasta el momento se lleve empleado. He conseguido hacer esto a medias, pero el problema me ha surgido al añadir un botón de cancelar a dicha ventana. (Para que os hagais una idea, la ventanita que quiero que salga es parecida a la que sale en el programa COOL EDIT cuando realizamos una tarea) Al pulsar el botón cancelar, lanzo un evento que es capturado por la hebra. Pues bien, ¿cómo puedo detener la ejecución de la hebra y destruirla junto a la ventana? He usado Terminate y DoTerminate, pero la hebra vuelve a llamar al método que incrementa la barra de progreso y provoca un error, ya que la ventana que contiene la barra de progreso ya se destruyó. De igual forma, ¿como puedo indicar a quien creó la hebra que se ha detenido el proceso?

Bueno, espero haberme explicado bien. Muchas gracias de antemano a todos. Un saludo.

Viet
13-08-2003, 20:05:15
hola.

Creo que la idea de eso seria que pongas algo asi


try

if FormProgress <> nil the
FromProgress.ProgressBar1.StepIt;

Except
End;

Y que generes y destruyas en forma dinamica el Form.


Suerte ;)