Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-06-2007
TEO127 TEO127 is offline
Miembro
 
Registrado: feb 2007
Posts: 17
Poder: 0
TEO127 Va por buen camino
Como obtener las variables de un objeto

Hola amigos mi consulta es la siguiente. dado un objeto cualquiera
ej :
Código Delphi [-]
type
MyObjeto = Class(TObject)

Private
_Data : TDataset;
_Serial: Tlist;
_Floop: TObject;
Public
function   Extv : Double;
Procedure opc1;
Procedure opc2;
End;
Como puedo obtener una referencia a las variables declaradas en este

algo asi como

Var
M : MyObject;
..
..
for i:=0 M.Variables.Count-1 do
...
.
.


Ando en busca de un simil de components o controls, pero que me liste las variables contenidas en mi objeto (no los componentes ni los controles).

Cualquier sugerencia se agradecera.

Saludos.
Responder Con Cita
  #2  
Antiguo 07-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hasta donde yo llego es posible acceder a las propiedades de un objeto siempre que estas sean públicas; es posible enumerar sus propiedades, "recorrerlas", acceder a sus valores e incluso cambiarlos, pero, tratando con variables... no se me ocurre la forma.

Además creo que lo que planteas es cuando menos raro. Quiero decir que es posible que existan otras soluciones para lo que quieres conseguir. Si lo explicas tal vez alguien pueda echarte un cable.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 07-06-2007
TEO127 TEO127 is offline
Miembro
 
Registrado: feb 2007
Posts: 17
Poder: 0
TEO127 Va por buen camino
Dec gracias por tomarte la molestia de responder a mi incognita lo que puedo agregar a mi consulta es lo siguiente "dado un objeto cualquiera, recorrer sus variables una a una" .
Tengo una funcion que realiza un proceso sobre las variables (dependiendo de su tipo) de los objetos , pero cada objeto que proceso aunque decienden de la misma clase , en su implementacion cada uno tiene sus propias variables.

Ejemplo :

Código Delphi [-]
type
TFormExta :  TClass  = (TForm)
.
.
.
Private
.
.
Public
a : Tipo1;//-> esta variable quiero capturar
b : Tipo2;//-> esta variable quiero capturar
c : Tipo3;//-> esta variable quiero capturar

end;

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


MyProc (Obj :TForm) 
Begin
¡¡¡¡¡¡¡¡aqui tengo que recorrer el Obj y analizar cada variable!!!!!!!!!!!
.
.
.
End;

Var
A : TFormExta;
B : TFormExtb; 
C : TFormExtb; 
Begin
MyProc (A); 
MyProc (B); 
MyProc (C); 
End.


Espero haber aclarado mas el asunto.
Saludos
Responder Con Cita
  #4  
Antiguo 07-06-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.110
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues no sé que se pueda acceder a las variables de un objeto, aun siendo estas públicas. Lo que sí sé es que puede accederse a las propiedades de un objeto, mediante Run-time Type information. Tal vez deberías plantearte añadir propiedades a tus objetos. O tal vez algún otro compañero sepa darte una respuesta mejor.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 07-06-2007
TEO127 TEO127 is offline
Miembro
 
Registrado: feb 2007
Posts: 17
Poder: 0
TEO127 Va por buen camino
Gracias por tus comentarios DEC, ya habia intentado por el lado de la RTTI pero no he logrado encontrar la solucion.

Espero que a alguien se le ocurra algo.

Saludos
Responder Con Cita
  #6  
Antiguo 07-06-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Con RTTI me parece que sólo podrás acceder a la propiedades publicadas (published). Por curiosidad, ¿qué es lo que quieres hacer? Vamos, que no es usual querer hacer algo así en un lenguaje como delphi.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear variables de tipo Objeto!! rodrigo19 Varios 2 26-05-2007 02:40:14
Obtener lista de procedimientos de un objeto JavierSotillos OOP 15 09-06-2006 17:53:52
Como crear un objeto en Delphi ? Delphiboy OOP 3 31-01-2006 20:39:15
Como guardar un objeto en un archivo ? cmurua71 OOP 7 18-11-2005 21:26:30
Obtener Handle de un objeto senpiterno Varios 6 22-04-2004 15:21:40


La franja horaria es GMT +2. Ahora son las 16:27:33.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi