![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Había utilizado ya 'Flags' para abortar el proceso FormRepaint. Todo funciona en teoría correctamente, cancelo el repintado y cierro el form.
Pero preguntaba si había otra manera más 'correcta'. El inconveniente de utilizar ese 'Flag' para abortar el proceso de repintado, es que de hecho al final del todo, después de cerrar el Form, la variable FormMain no queda a Nil. Por lo tanto, en mi menú principal de la aplicación, dicho Form aparece como si estuviera 'activo'.
__________________
Piensa siempre en positivo ! |
|
#2
|
||||
|
||||
|
Cita:
Prueba con esto:
|
|
#3
|
||||
|
||||
|
Pues si, Domingo. Sería otra forma de comprobarlo.
Yo lo tengo así :
Especifico que se trata de una aplicación MDI. ![]()
__________________
Piensa siempre en positivo ! |
|
#4
|
||||
|
||||
|
No entiendo bien el motivo de cerrar cuando está abriendo, pero en fin... ¿por qué no lo pones invisible, hide, y luego lo pones a nil desde donde lo has llamado.
Código:
procedure TfrmBackRestAux.FormClose(Sender: TObject; var Action: TCloseAction); begin inherited; Action := caHide; end; Código:
frmAux := TfrmBackRestAux.Create(owner); frmAux.ShowModal; // frmAux.Free; FreeAndNil(frmAux);
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
||||
|
||||
|
Al final os agradezco a todos vuestras respuestas, pero no creía que fuera para tanto revuelo.
Ya puesto doy la explicación completa. Es un form que se crea y tarda cierto tiempo en buscar los datos y generar la presentación. (Ya viene de algunos hilos en este foro incluso anteriores). Al principio realizaba la primera 'generación' del Form en el OnCreate, y al mostrarlo la primera vez, ya estaba todo bien presentado. Ya que ese form puede ser 'actualizado' cuando lo quiera el usuario o bien mediante un Timer que también tengo puesto, decidí 'acortar' el tiempo que tarda en presentarlo la primera vez, sacando la función de 'repintado' del OnCreate y pasarlo al OnActivate. Así de esta manera, el Form aparece casi de inmediato (en vez de tardar aprox. 4-5 segundos en aparecer), y una vez que se muestra el form digamos 'en blanco' entonces en el OnActivate llamo al repintado y el usuario va viendo en pantalla como se va actualizando. Con tantas pruebas que hace uno, pues resulta que en una de estas veces me apresuré en cerrar el Form antes de terminar el repintado. Y ví que daba un error, cosa que como siempre se debe evitar a toda costa ! ![]() Entonces me puse a analizarlo y me dí cuenta de todo lo expuesto anteriormente. Por qué cerrar el form antes de terminar de crearlo ?? Por lo anteriormente expuesto y porque los usuarios son muy dados a hacer Click en todos los sitios incluso antes de haber terminado algo. Y claro, ahí saltaba el error. Y mi pregunta fue como hacerlo 'correctamente' y si había una forma 'bonita' para ello. También pensé en la última opción que plantea Casimiro, que es hacer el FreeAndNil en el sitio donde se llama. Lo dicho, no creía que este hilo fuera a acabar con esta extensión. En cualquier caso, una vez más, muchas gracias por todas vuestras propuestas. Saludos a todos ![]() Edito : Casimiro, no puedo hacer el FreeAndNil desde donde lo llamo porque es un formulario MDI que se muestra NO Modal. Y por eso también la comprobación que indicaba más arriba y que me contestó Domingo.
__________________
Piensa siempre en positivo ! Última edición por gluglu fecha: 28-08-2007 a las 15:52:35. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Actualizar form al volver a el mientras se realiza proceso largo(p.e: recorrer db) | Wonni | Varios | 5 | 18-06-2007 19:44:00 |
| Abortar un proceso | TONIAM | Varios | 10 | 31-05-2007 19:26:41 |
| ¿como abortar ejecución de eventos? | pjjorda | Varios | 5 | 06-06-2006 20:59:59 |
| Como Abortar mi APP sin q aparescan Mens de ERROR | pcicom | OOP | 5 | 22-03-2005 09:22:13 |
| Como evitar que el usuario cierre la form! | Waldo | API de Windows | 2 | 20-11-2003 18:46:47 |
|