![]() |
Orden de eventos
Hola, no estoy segura si este es el foro adecuado, pero ahí va mi pregunta.
Alguien puede decirme en que orden se ejecutan los eventos de los formularios. Yo pensaba que el evento OnCreate se ejecutaba antes que el OnActivate, pero mi aplicación me dá problemas porque parece que se ejecutan al revés. ¿Hay algún modo de definir el orden? He buscado información por ahí pero nada que me aclare las dudas. Muchas gracias. |
El evento Create es anterior al Activate.
Quiza el problema se de por otra cosa, serían necesarios más datos. Saludos |
He hecho una traza del programa. LLamo al formulario desde un boton y para crear el formulario ejecuto:
Application.CreateForm(TFormUno,formUno); Según la traza (paso a paso) la siguiente instruccion de codigo que se ejecuta está en el evento OnActivate y no pasa al OnCreate que es donde está el código que yo quiero que se ejecute. |
Puede ser que en alguna parte del OnCreate antes del código que quieres que se ejecute, dice algo como FormActivate(Sender).
|
No aparece nada parecido, lo primero que hago es ocultar un campo:
editUno.visible:= false; y eso no se ejecuta. |
Será mejor que vuelvas al principio, porque no tiene sentido.
Mira en el Inspector de objetos si el Oncreate del form tiene asignado exactamente el procedimiento que tienes, (igual está borrado del Object Inspector) y por eso no lo ejecuta. También podría ser (aunque me suena muy raro), que el EditUno.Visible ya esté a false y el compilador obvie esa línea de ejecución ya que no aporta nada. Pero vamos, que estamos haciendo de adivinos. ¿por qué no pegas el contenido de ese OnCreate para ver lo que haces? Saludos |
La franja horaria es GMT +2. Ahora son las 05:14:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi