![]() |
Objetos creados en tiempo de ejecución
Por favor, necesito saber como hacer para definir (en Delphi 7) los eventos de un objeto creado en tiempo de ejecucion, tengo una imagen que creo en tiempo de ejecucion y necesito definirle el procedimiento Click de la imagen, pero al no estar sobre ningun formulario no tengo cómo accederlo y no se como definirlo desde afuera, o sea, una vez que la creo como le defino que cuando alguien haga click sobre la imagen realice tal accion.
Muchas gracias!! Santiago |
Simplemente tienes que declarar y asignar el evento manualmente:
Código:
interface Código:
TuImagen.OnClick := ImagenClick; |
Muchisimas gracias, me quedo perfecto!
Santiago |
muy bien, pude relacionar el procedimiento al evento, ahora, tengo una matriz de registros en el formulario, cada registro incluye una imagen (donde se efectua el click) y un Objeto (tObject), un atributo del formulario es un tObject también que no son objetos en si, sino como se los maneja como punteros necesito que cuando hago click sobre la imagen el Objeto apuntado por el formulario sea el mismo que esta en el registro junto con la imagen, intenté mandar el registro, pero me dice que no es valido, que es un procedimiento y no un evento...
Cómo puedo hacer??? Muchas Gracias Scocc |
Hola scocc:
Voy a darte una solución, quizás no del todo ortodoxa, pero sí útil. Cuando creas cada objeto TImage y lo asocias a un elemento de la matriz, puedes asignarle a la propiedad Tag (para eso está, para este tipo de chapucillas) del TImage el índice a la matriz en que situas dicho TImage. Luego, cuando se ejecuta el OnClick del TImage, capturas el tag del mismo (acuérdate de hacer un cast: TImage(Sender).Tag), y obtienes el objeto mirando en la matriz. A ver si esto te sirve |
La franja horaria es GMT +2. Ahora son las 02:28:23. |
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