Ver Mensaje Individual
  #11  
Antiguo 07-06-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - Espańa
Posts: 18.309
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
El truco 42 se titula: "Mostrar las propiedades de uncomponente en Runtime", aunque vale perfectamente para cualquier otro objeto.
Usa RTTI que es la única forma de hacerlo sin programar nada especial (NOTA1); Lo más importante para hacerlo así es que las propiedades que deseas recorrer sean published.

En el caso que has puesto:

Código Delphi [-]
TFormExtb :  TClass  = (TForm)
.
.
Private
.
.
Public
  d : Tipox;//-> esta variable quiero capturar 
  e : Tipoy;//-> esta variable quiero capturar
  f  : Tipoz;//-> esta variable quiero capturar
end;

Habría que modificarlo para que fuera así:

Código Delphi [-]
TFormExtb :  TClass  = (TForm)
.
.
Private
  _d : Tipox;//-> esta variable quiero capturar 
  _e : Tipoy;//-> esta variable quiero capturar
  _f  : Tipoz;//-> esta variable quiero capturar
Published
  property d:Tipox read _d write _d;
  property e:Tipoy read _e write _e;
  property f:Tipoz read _f write _f;
end;
Aunque habría que saber más de lo que necesitas hacer.
(NOTA1) La otra opción, si consigues que todas las clases deriven de una clase base, es programar en la clase Base una lista de variables/propiedades y que cada una de las clases derivadas añada las suyas en el Create (por ejemplo). En la clase basedeberás programar el método que recorra la lista y te las devuelve (no se si me explico...)
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 07-06-2007 a las 17:26:43.
Responder Con Cita