Ver Mensaje Individual
  #2  
Antiguo 21-07-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por moesis
...El problema surge cuando intento acceder a las propiedades públicas del formulario TFormulario y no son visibles, algo totalmente lógico. He leido que puedo obtener el nombre de la clase base como string, y la clase como un pointer a TClass, pero ¿Cómo podría realizar un cast en tiempo de ejecución para que reconozca los métodos de TFormulario?
No acabo de entender (del todo) lo que explicas, pero creo que existen dos formas de poder accedre a los métodos de TFormulario en ejecución, contando que no puedes hacer un CAST, debido a que en el TfrmBrowser no sabes cual es la clase real de TFormulario (debido a que va a ir cambiando):

(1) La primera forma es que todos tus TFormulario deriven de un TFormBase, de forma que los métodos estén definidos en TFormBase como virtual (y abstract, si es necesario) y luego en los TFormulario se redefinan utilizando override; Eso te permitiría llamar a los métodos de TFormBase y estaría ejecutando los de los formularios derivados (por el override).

(2) La otra opción es utilizar RTTI; Para ellos debes definir todos los métodos que vayas a utilizar en la parte published del formulario y accederlos vía RTTI utilizando el nombre del método. En éste hilo puedes encontrar un ejemplo:
http://www.clubdelphi.com/foros/show...05&postcount=2

Si necesitas más, ya dirás,...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita