Cambio de orden de ejecución de eventos
Hola a todos, necesito saber si hay alguna manera de alterar el orden de le ejecución de los eventos, o que un evento concretamente hacer que no salte en su momento.
Me explico un poco más. Tengo dos formularios (form1,form2) visibles del mismo tipo, y en el código he puesto el "form1.free" después de hacer el "showmodal". Necesito que cuando cierre form1 se ejecute primero el destructor sobrecargado antes de que se ejecute el "activate" de form2. A groso modo, cuando cierro form1 los métodos se ejecutan en el siguiente orden: form1.onclose form1.deactivate form2.activate form1.free Lo que necesito es que form2.activate se ejecute el último, bien cambiando el orden o bien indicando que no se ejecute en su momento para llamarlo más tarde. Gracias de antemano. |
hola jm75 ten cuidado, después de Form1.Free no se puede llamar a ningún otro evento o método de Form1, porque ya no existe, y una llamada a cualquier método provocará una Violación de Acceso a memoria.
Para anular un evento si lo tienes fácil:
Para asignar un evento:
Ojo con esto: porque al activarse de nuevo el Form1 obtendrás un Access Violation. Saludos |
Hola Lepe, el método al que quiero llamar es "form2.activate", siendo form2 un objeto que existe -y está visible- distinto del objeto form1, con lo que al hacer "form1.free" el objeto form2 existe todavía.
Gracias. |
La franja horaria es GMT +2. Ahora son las 16:18:00. |
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