![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Saber cuando se destruye un formulario
Buenos días, tengo una pregunta rápida, hay alguna forma de saber si un formulario se ha cerrado?, para poder ejecutar la apertura de otro, pero necesito que el formulario primero se haya cerrado, se haya destruido, para poder abrir el segundo.
Gracias!!! |
#2
|
||||
|
||||
Cita:
Puedes capturar el evento OnDestroy para saber justo lo que estás pidiendo, saber cuando se está destruyendo eso form.
__________________
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. |
#3
|
||||
|
||||
Con un código como este puedes capturar el evento OnDestroy.
En el OnClose del segundo formularuio debes poner que se destruya.
__________________
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. |
#4
|
|||
|
|||
Gracias por contestar, es un poco mas complicado, te pongo en situación, tengo un formulario desde el que llamo a otro, es un tema de fastreport, en ese formulario (Form2) recién creado tiene un componente frxDesigner que se utiliza para diseñar un informe, con sus eventos, SaveReport, etc... que capturo y tengo cierto código, cuando cierro ese formulario abro otro (Form3), que también tiene ese componente frxDesigner, y lo mismo que el anterior tiene sus eventos, el problema está que cuando se abre el tercer formulario esta cogiendo la instancia del componente del segundo formulario, y no pasa por los eventos del componente del propio formulario, espero estar explicándome bien, por eso necesito saber cuando se ha destruido "Form2" para poder crear "Form3"
Por cierto, el "form2" es ShowModal Desde el "form1"....
Lo he solucionado con "Notifications", he creado en el Form1 ...
Me aseguro de que el formulario se ha eliminado y creo el "form3", y funciona, no se si habrá otra forma mas elegante, jeje O si ves algún posible problema por utilizar ese método. Gracias. |
#5
|
||||
|
||||
Cita:
No debería pasar (si las cosas se hacen correctamente) que un formulario "esté cogiendo la instancia de otro" (no entiendo muy bien qué quiere decir eso). Yo me preocuparía, no porque se haya arreglado, sino porqué te pasaba eso.
__________________
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. |
#6
|
|||
|
|||
Quizas me he expresado mal con lo de la instancia, en el "Form2" creé un destructor, y le puse un punto de ruptura, en un momento dado, en el Form2 hago un close, y la creación del Form3 ocurre antes de que salte el Destroy del "Form2", el close del Form2 tiene un
, el problema es que antes de que se destruya el Form2 se esta creando el Form3, y en la documentación del FastReport dice que para el diseño, solo hace falta soltar el componente en el proyecto, y siempre que se llame a "DesignReport" internamente enlazará ese componente. Hice una prueba de quitar el componente del Form2 y funcionó bien, así que el problema estaba en que algo estaba pasando con el componente del Form2, no se como FastReport hace ese enlace internamente. Imagino que cuando haces Close, hay una pila de llamadas que tardan en procesarse, y la destrucción del Form2 no se ha procesado cuando se crea el Form3, por eso lo de "Notification". |
#7
|
||||
|
||||
Si quieres pon un ejemplo pequeño donde se reproduzca el problema y lo revisamos.
__________________
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. |
#8
|
|||
|
|||
En cuanto pueda pongo un ejemplo y lo vemos.
|
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cuando abro el programa no me aparece el formulario | Raven juice | Varios | 12 | 28-05-2015 18:24:56 |
saber cuando le asigno un valor a un campo de formulario | jsc | HTML, Javascript y otros | 3 | 26-12-2012 22:08:13 |
Como ocultar el formulario cuando se usa free | Lizette | Varios | 4 | 03-02-2009 15:24:44 |
Saber cuando ingresan a tu PC | genius | Varios | 4 | 11-12-2006 14:47:52 |
No se destruye mi aplicacion | javicho_villa | Varios | 3 | 26-01-2006 17:26:32 |
![]() |
|