PDA

Ver la Versión Completa : Orden de eventos


drykea
27-04-2007, 14:59:45
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.

adfa
27-04-2007, 15:14:57
El evento Create es anterior al Activate.
Quiza el problema se de por otra cosa, serían necesarios más datos.

Saludos

drykea
27-04-2007, 16:28:50
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.

jhonny
27-04-2007, 16:51:25
Puede ser que en alguna parte del OnCreate antes del código que quieres que se ejecute, dice algo como FormActivate(Sender).

drykea
27-04-2007, 17:13:13
No aparece nada parecido, lo primero que hago es ocultar un campo:

editUno.visible:= false;

y eso no se ejecuta.

Lepe
27-04-2007, 17:47:00
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