Localizar controles creados en runtime
Hola a tod@s
Recurro al foro por aquello de que 2000 ojos ven más que dos (miopes por cierto) ;) Tengo un form con la siguiente estructura: Los controles "cero-cero" los creo en diseño, y los controles "cero-uno" a "dos-cuatro" en tiempo de ejecución, exactamente en el evento OnCreate del form. Bien, hasta aquí no hay problema. El problema se presenta cuando quiero rellenar los controles desde los datos almacenados en una tabla, para ello tengo la siguiente función: no se porqué no me localiza los controles creados y aparecen en blanco. He probado a anteponer a FindComponent el nombre del form, self, o el contenedor (Panel_DATOS) y lo máximo que he conseguido ha sido que me cargue los controles creados en diseño, el resto siguen en "el limbo" Para verificar los nombres, he añadido el evento OnMouseMove para que muestre los nombres de los controles y lo hace perfectamente ¿alguna idea? Gracias de antemano salvica |
Cita:
Prueba y cuentanos. Pon parte del código que crea los paneles. Saludos |
Hola fjcg02, gracias por contestar
Cita:
Saludos salvica |
Has omitido el código donde les asignas el nombre... así que supondré que los nombres están bien escritos; entonces la única razón por la que la función FindComponent no los encuentra es porque estás ejecutandola dentro del código de un componente que no es el owner de los objetos creados en tiempo de corrida, es decir... aquel apuntado por Form_Garita en el momento de crearlos.
Probablemente estás creando otra instancia de dicha clase y la confusión viene por allí. Recomiendo que si el método que crea los controles es parte de la clase TForm_Garita, en lugar de usar la variable Form_Garita, uses la variable implicita Self. Hasta luego. ;) |
Hola jachguate
Cita:
Saludos Salvica |
Perdona jachguate, me preguntabas el "donde los creo" y se me pasó, los creo en el evento OnCreate del form y los cargo desde el procedimiento de más arriba que llamo desde el evento OnShow del mismo form
Saludos salvica |
Bien, si es así, podes (y debés) usar Self como owner.
Hasta luego. ;) |
Cita:
Generalmente, cuando hago cosas nuevas, sigo las indicaciones del libro Programación con Delphi 4 de Francisco Charte, pero esta vez pensaba que lo sabía :(, y el resultado han sido tres días perdidos. Saludos salvica |
La franja horaria es GMT +2. Ahora son las 12:35:50. |
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