![]() |
menú dinámico con eventos dinámicos
Hola, buenas tardes,
estoy realizando un menú dinámico para mi aplicación, mediante el componente TMainMenu y ayudandome de un fichero XML. En mi fichero XML me almaceno datos como Caption y OnClick, es decir, le indico el nombre del procedimiento al que tiene que llamar. Este procedimiento ya lo tengo declarado y definido en mi aplicación, pero no puedo asignarselo en tiempo de ejecución al elemento TMenuItem que estoy creando. Sabeís como puedo asignar en OnClick, el nombre del procedimiento al que llamar.
Lógicamente en la propieada OnClick, no puedo asignar un tipo string, pero como hacer para que me deje asignarlo?. Saludos |
Create un Stringlist con el nombre de todas las funciones y en la propiedad objects guardas el puntero al procedimiento.
|
Otra opción es definir el procedimiento como published y acceder aél a través de RTTI. Aquí tienes un ejemplo de cómo ejecutar procedimientos a partir de su nombre utilizando RTTI.
|
Hola de nuevo JAM,
estoy intentando implementar tu solución, pero no entiendo la última parte que dices Cita:
Saludos |
En Objects guardas un puntero, si lo escribes... estas escribiendo una dirección de memoria, que despues ... puede no ser útil.
RTTI es la única opción viable a mi parecer.... claro ;) Saludos |
La franja horaria es GMT +2. Ahora son las 09: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