Saludos Cordiales Colegas!!!
Es posible saber las propiedades de un objeto? o por lo menos sus variables contenidas!!
Ej: oObj:cCadena:="Hola"
oObj:nValor :="1234"
oObj:aData :={"BRASIL","ALEMANIA","PORTUGAL"}
oObj:lTrue :=.F.
oObj:dFecha :=DATE()
Y entonces alguna funcion que me muestre lo que tiene contenido oObj
Ej: View(oObj) o algo asi???
Se podra???
Propiedades de un Objeto!!
- danielr cyberia®
- Posts: 28
- Joined: Sat Apr 28, 2007 4:06 am
- Location: Venezuela
Propiedades de un Objeto!!
Best Regards- Saludos y Exitos
Daniel Rivas
Daniel Rivas
- danielr cyberia®
- Posts: 28
- Joined: Sat Apr 28, 2007 4:06 am
- Location: Venezuela
Saludos Cordiales Colegas!!
Jejejeje ya consegui algo!!
Pero hay una propiedad de aOData que se llama eho! pero no se que hace ni como funciona! si saben algo me avisa!! en el arreglo solo aparencen las variables! me gustaria que mostraran sus valores!! si saben algo!! me avisan!!!
La sentencia es aOData.eho: !!!
Jejejeje ya consegui algo!!
Code: Select all
PROCE MAIN()
local aObj := aOData(oObj)
ViewArray(aObj)
RETURN
La sentencia es aOData.eho: !!!
Best Regards- Saludos y Exitos
Daniel Rivas
Daniel Rivas
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Daniel,
Tanto en Clipper como en Harbour, los objetos estan contenidos en arrays (son arrays con sus datos, más un puntero a su clase, para localizar los métodos), por lo que puedes inspeccionar un objeto así:
Tanto en Clipper como en Harbour, los objetos estan contenidos en arrays (son arrays con sus datos, más un puntero a su clase, para localizar los métodos), por lo que puedes inspeccionar un objeto así:
Code: Select all
for n = 1 to Len( oObjeto )
MsgInfo( oObjeto[ n ] )
next
- danielr cyberia®
- Posts: 28
- Joined: Sat Apr 28, 2007 4:06 am
- Location: Venezuela
Saludos Cordiales Colegas!!
Antono! Muchas Gracias por tu atención
Me parece bien lo que planteas! pero asi solo me muestra los valores de las variables! sin decirme a quien pertenece esos valores! y el otro metodo solo me trae las variables que al parecer no esten vacias o nulas!
Imaginate entonces que hice lo siguiente
Pero asi hay disparidad entre la cantidad de LEN(aObj) con LEN(oDp) porq aObj esta contenidad de variables que al parecer no esten vacias o nulas y oDp cuanta a todas! Creo que es eso!! jeje!
De todas maneras lo que debo hacer es un listado de las variables con sus valores que esten contenidas en el objeto! como se hara eso?!
Gracias por Todo!!!!
Antono! Muchas Gracias por tu atención
Me parece bien lo que planteas! pero asi solo me muestra los valores de las variables! sin decirme a quien pertenece esos valores! y el otro metodo solo me trae las variables que al parecer no esten vacias o nulas!
Imaginate entonces que hice lo siguiente
Code: Select all
PROCE MAIN()
LOCAL aObj:=aOData(oDp),I,aData:={}
FOR I=1 TO LEN(aObj)
AADD(aData,{aObj[I],oDp[I]})
NEXT I
ViewArray(aData)
RETURN
De todas maneras lo que debo hacer es un listado de las variables con sus valores que esten contenidas en el objeto! como se hara eso?!
Gracias por Todo!!!!
Best Regards- Saludos y Exitos
Daniel Rivas
Daniel Rivas
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Daniel,
Se hace así:
Los nombres que empiezan por "_" son datos asignables, así para diferenciar una DATA de un método se sabe porque existe el mensaje que empieza por "_". El siguiente paso es enviar el mensaje al objeto dado el nombre del mensaje.
Se hace así:
Code: Select all
function Main()
local oError := ErrorNew()
local aInfo := __ClassSel( __ClassH( oError ) )
local n
for n = 1 to Len( aInfo )
MsgInfo( aInfo[ n ] )
next
return nil