![]() |
Buscar componentes de un formulario usando rtti
saludos como puedo buscar todos por ejemplo los TstringGrids de un formulario usando rtti ?
algo por ejemplo como esto quisiera hacer esto con rtti, he tratado de buscar en google y clubdelphi pero todos los ejemplos buscan propiedades y demas de las clases no instanciadas. o por ejemplo esto otro quisiera tambien hacerlo con RTTI:
|
Cita:
Este recorrido es lento. Si necesitas hacerlo mçás de una vez, puedes almacenar los componentes en una Lista (TObjectList) para no tenerlo que hacer más de una vez. Otra opción es crear manualmente esa lista al crear el formulario.
Este código funciona tanto para VCL como para FMX. Para buscar otros componentes como el que comentas (clase TLinkGridToDataSource) basta adaptar ese código para la nueva clase.
En cuanto a esta cabecera:
En estos casos es mejor pasar directamente los componentes, no los nombres (parea no tener que realizar las búsquedas).
Con una implementación similar a esta:
|
Si aplicamos el último procedimiento al primero que hemos usado para buscar los TStringGrids, podríamos hacer algo como eso:
|
que bien gracias , no hay necesidad de usar rtti entonces.
rtti a mi modo de ver al parecer es mas bien cuando quiero cambiar propiedades e run time como por ejemplo esta función para habilitar los componentes de un Tlayout al editar, ahora estoy recordando ver una función para algo de esto en tu blog neftali.
|
Cita:
Justo para evitar código como el que muestras ahí, es para lo que va muy bien usar RTTI. |
La franja horaria es GMT +2. Ahora son las 06:58:35. |
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