Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿como modalform con progressbar? (https://www.clubdelphi.com/foros/showthread.php?t=77097)

JXJ 20-12-2011 18:48:19

¿como modalform con progressbar?
 
1 Archivos Adjunto(s)
hola

tengo una duda.

quiero mostrar el progreso de la generacion de unas operaciones.
con un modal form unos tedits y progressbars.

cuando le doy click a el boton
se inicia la generacion de operaciones. y a la vez se muestra un modalform.

donde con el progressbar se indique el progreso de las operaciones
y una vez terminadas, se cierre el form

algo como en la imagen

http://www.clubdelphi.com/foros/atta...1&d=1324403244

gracias. por su atencion.

ecfisa 20-12-2011 22:50:44

Hola JXJ.

Tomando en cuenta que el formulario que abras de forma modal detendrá la ejecución del código hasta que se cierre, creo que la única manera es que el procedimiento cuyo progreso se muestra en el TProgressBar, se realize dentro del form modal.

Un saludo.

JXJ 21-12-2011 00:00:37

ecfisa

he pensado en hacerlo asi.


pero a la vez queria reutilizar ese form modal.
llamandolo para otras operaciones donde se muestre el progreso.

he visto que otros usan callback y cosas asi para algun tipo de recursividad. pero no lo he verificado bien.

por ejemplo el delphi al compilar muestra un form con texto.

y ahora que me acuerdo. el instalador de las jedi. al compilar las dcu. hace creo que lo que he preguntado. lo descargo y le investigo.

gracias.

AzidRain 21-12-2011 00:07:02

Aqui no hay de otra mas que meterse con hilos (threads) ya que la ventana modal que tiene el progressbar no hace nada mas que mostrar el mensajito, obviamente la que hace el proceso que tarda es la que la crea. Es un tema algo complejo de entrada para hacer algo tan simple, pero ni hablar es lo único que podemos hacer.

ElKurgan 21-12-2011 08:32:03

Hace mucho tiempo, Nico Aragón publicó un código para hacer más o menos lo que quieres. El truco se llamaba "Cerrar una ficha modal desde código". Por desgracia, no lo he encontrado por Internet (Nico ha cambiado tanto de web sites que ya no se sabe donde está todo)... El asunto se centraba en usar el evento "Application.OnIdle", ya que este método se llama inmediatamente después de que ShowModal haya entrado en su bucle de mensajes particular.

En su artículo, Nico decía "Este código se publica como de dominio público: no hay restricciones ni garantías. Se agradecería eso sí una pequeña referencia a su origen."

Si los compañeros del club están de acuerdo, se puede subir a la página de manuales del club.

Un saludo


La franja horaria es GMT +2. Ahora son las 16:13:01.

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