FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como obtener propiedad de una clase que está en una bpl dinámica?
Buenas tardes, a ver si alguien es capaza de resolver este problema...
Tengo una bpl dinámica en la que tengo una clase A. En mi dpr principal tengo la Clase APADRE de la que hereda la clase A. Desde mi dpr principal cargo esa Bpl dinámica, como podría acceder a la clase A ó a una de sus propiedades? No tengo ni idea de como hacerlo pero quería saber si hay algo de tipo: (ObjetoDeLaClaseAPADRE as A).PropiedadDeLaClaseA teniendo en cuenta que yo desde mi dpr no veo nada de la bpl dinámica. Un saludo. |
#2
|
||||
|
||||
En la BPL debes registrar la clase a la que quieres acceder utilizando RegisterClass.
Luego para poder acceder a ella desde otro lugar de la aplicación puedes utilizar RTTI. Con el método GetClass puede acceder a la clase a partir de su nombre. Revisa la ayuda hay algun ejemplo. También puedes buscar por internet un artículo de "Vino Rodrigues" sobre packages dinámicos. Recuerdo que está muy bien explicado.
__________________
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. |
#3
|
||||
|
||||
Este ejemplo carga una clase contenida en un paquete
Sencillito pues :P. si necesitas más detalles, el libro de marco cantú Delphi 7, trae unos excelentes ejemplos. Suerte
__________________
Conoce mi blog http://www.edgartec.com |
#4
|
|||
|
|||
Muchas gracias por la ayuda, he estado trasteando con ello y viendo ejemplos y más ejemplos pero creo que no lo puedo hacer ya que mi clase hereda de TObject y no de TComponent y al hacer el:
RegisterClass(TClaseEnBPL); me da error ya que creo que sólo se pueden registrar clases que hereden de TComponent. Por otro lado al hacer el: clase := GetClass('TClasePErsonalizada'); siempre me da que clase es nil ya que supongo no llega a registrarse. Sigo buscando soluciones...gracias. |
#5
|
||||
|
||||
Cita:
No pierdes nada, al contrario, tal vez estés agregando a tu clase algunas características que no necesita, pero ya está. Cita:
__________________
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. |
#6
|
|||
|
|||
Sí, suponía que era por eso, pero la verdad que no me atrevía a cambiar la herencia ya que es una clase muy muy gorda dentro del programa que se usa en muchísimos sitios y me daba cosa, ya que creía que podría tener luego problemas con ella...pero bueno, viendo tu comentario me animaré a hacer la prueba y ya os contaré como ha ido todo.
Muchas gracias y un saludo. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Usar una clase que esta dentro de una libreria | lookmydoom | OOP | 3 | 18-04-2006 16:25:34 |
Obtener el directorio donde está el ejecutable | daly | Varios | 3 | 13-10-2005 20:29:18 |
Propiedad que me indica si un DBMemo está vacio | gluglu | Varios | 4 | 10-02-2005 17:48:17 |
Una clase como propiedad de un componente? | setry2 | OOP | 3 | 30-12-2003 22:30:58 |
Obtener la clase de objetos | Feñiz | OOP | 7 | 08-05-2003 21:21:55 |
|