Evento después de la creación de un control
Hola a todos:
Necesito ver la forma de saber cuando todos los controles de un formulario hayan sido creados. Estuve leyendo sobre OnPaint pero no me sirve: Cita:
Saludos... |
Saludos
Mira a ver el evento OnActiv del Formulario. |
Primero que nada, gracias por tu interés nuevamente
Cita:
1. OnCreate 2. OnShow 3. OnActivate 4. OnPaint Por lo tanto el OnActivate está antes del OnPaint y por razones ya mencionadas los controles tampocos estarán disponibles. A pesar de todo esto, lo que necesito hacer es básico como al momento de inicializarse un form mando a setear los controles (habilitado o deshabilitado, seteo de variables, color, etc..), es una función que tengo en otra unidad y le paso como parametro un tipo TForm y, por ende no puedo acceder a los controles de este form ya que aún sus controles no han sido creados.. Espero haberme explicado bien.. Hasta Luego - |
Cita:
Es posible que se presenten algunos problemas al asignar propiedades que dependan de que los controles ya sean visibles, pero en general puedes ajustar propiedades en el evento OnCreate. // Saludos |
Hola,
Cita:
Cita:
Desde luego hay tareas que no pueden llevarse a cabo en el evento "OnCreate" y sí en el evento "OnShow", pero, sinceramente, o estoy pensando en otra cosa o no sé porqué ahora mismo no puedo ir más allá en mi explicación, esto es, en la explicación del porqué de lo que trato de explicar. Y olé. ;) Edito: Ya Román se me ha adelantado y creo que lo ha explicado en menos palabras y mucho mejor que yo mismo. ;) |
Cita:
Puse un breakPoint y verifiqué el Frm_Clientes y marca nil... y cuando llamo a esa rutina hay un momento que hago un Form.controlcount y presenta el problema típico de los objetos no creados aún..:eek: Hasta Luego - |
En lugar de
yo pondría
Una cosa es que el objeto ya esté creado y otra que la variable (Frm_Clientes en este caso) ya tenga asignada la referencia a dicho objeto. No sé si realmente ésta sea la causa del problema, pero sí te comento que los métdos de una clase (TFrm_Clientes) no deben hacer referencias a instancias particulares (Frm_Clientes). En tu caso, desde el método TFrm_Clientes.FormShow estás tratando de acceder al objeto que se está mostrando, y éste no tiene, en general, porqué coincidir con la variable por defecto que Delphi (uno de sus malos hábitos) crea por defecto. // Saludos |
Cita:
Gracias a todos :) Nos vemos... |
La franja horaria es GMT +2. Ahora son las 22:26:24. |
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