Ver Mensaje Individual
  #8  
Antiguo 14-02-2009
poyo poyo is offline
Miembro
 
Registrado: ene 2009
Posts: 47
Reputación: 0
poyo Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Ah, ahora sí te comprendo Poyo. Pues precisamente eso es a lo que yo llamo herencia insertada, pero desafortunadamente no existe en Delphi y creo que pocos lenguajes de programación lo tienen.

Alguna vez Román me comentó en otro hilo (busca "herencia insertada") que Java Script (no Java, aclaro) sí tenía esa capacidad, pero no he estudiado cómo es eso ahí.
Si no me equivoco, creo que el concepto, más allá de la técnica utilizada, se llama refléxión.

Yo he visto hacer cosas como estás.... (no lo de la "herencia insertada", pero sí lo de agregar la propiedad publicada). lástima que estoy corto de tiempo para investigar... a ver... (desempolvando links agendados... y luego de toser un poco por el polvo...)
Para aquellos que les interese acá hay una punta:

http://blogs.codegear.com/abauer/2007/02/24/32322

http://hallvards.blogspot.com/2007/0...a-part_11.html

http://dn.codegear.com/article/33448

Lo estube chusmeando un poco y es algo engorroso.

en DesignIntf.pas está definido ISelectionPropertyFilter (de paso lean el comentario que hay en el Unit)
la idea es implementarlo para manipular la lista de propiedades del objeto, ya sea para agregar como para quitar.

Es interesante las cosas que se pueden hacer (como ser, opcionalmente, mostrar u ocultar propiedades o categorías de las mismas)

Para agregar es lo engorroso.

Lo que no me queda claro lo de Streaming (habitualmente persistencia mediante .DFM) usando:
TPersistent.DefineProperties(Filer: TFiler); virtual;
Si bien entiendo cómo y para qué es esa función, no veo cómo aplicarlo en este caso, si al form o a la clase... si es a la clase, la tengo que modificar o se puede hacer con un Class Helper? habrá que probar...
Será para cuando pueda.
Buen fin de semana. Me voy a pasarla al Delta del Rio Paraná de la Palmas.
Responder Con Cita