Llamar evento sabiendo el nombre
Hola
Estoy creando unos componentes y me surge la necesidad (por eso de querer hacer funciones generales) de hacer una llamada a un método (evento) sabiendo sólo el nombre (en una cadena). Gracias a este mensaje (http://stackoverflow.com/questions/4...ed-in-a-string) se cómo llamar a un método teniendo el nombre de éste en la cadena. Lo que pasa es que al ser un evento necesito saber si éste está asignado antes de invocarlo (para evitar esos AV molestos). ¿Alguna idea de cómo poder controlar si el evento está asignado? Gracias |
Cita:
Una forma es:
Uso:
Saludos. |
Y mira que conocía la función GetMethodProp de la TypInfo, pero no caí en él. Y ya que tiro de la RTTI, puedo usarlo para lanzar directamente el evento
Gracias |
[offtopic]
Vaya, vaya... joe bar team y cbrrr [/offtopic] |
Hola,
Si estás usando Delphi 2010 o superior, tal vez te interese revisar la RTTI extendida, que permite hacer muchas más cosas que TypInfo y de forma más sencilla (más orientada a objetos). Simplemente incluye en el uses "RTTI", y añádete una variable de TRTTIContext, y verás cómo es más o menos sencillo:
Un saludo, LoPiTaL |
Buenas LoPiTaL,
Efectivamente, ese enlace lo encontré buscando información por la web, pero como quiero que los componentes funcionen en versiones "viejas" de Delphi, esa solución no me sirvió (aunque está bien ponerla como documentación) Gracias de nuevo |
La franja horaria es GMT +2. Ahora son las 15:11:55. |
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