Peque
Publicado: Jue Ago 31, 2006 12:11 pm
Hola,
Tengo una clase como sigue:
//------------------------------------------> Inicio código
CLASS miClase FROM tComponent
COMPONENT oMemDataSet
METHOD New() CONSTRUCTOR
METHOD CopiaMem() INLINE ::oMemDataSet
METHOD End()
ENDCLASS
METHOD NEW( oParent ) CLASS tMiClase
WITH OBJECT ::oMemDataSet := tMemDataSet():Create( oParent )
:open( {{1,2,3},{3,4,5}, {"a","b","c"} )
END
Super:New( oParent )
RETURN Self
METHOD End() CLASS tMiClase
TRY
::oMemDataSet:End()
END
RETURN Super:End()
//------------------------------------------> Fin código
Y luego en mi aplicación hago esto:
LOCAL oCl
LOCAL oMem
oCl := tMiClase():New( Self ) // Self -> formulario
oMem := oCl:CopiaMem() //--> tiene tres elementos
MsgInfo(oMem:RecCount() ) // --> 3 elementos
oCl:End()
MsgInfo(oMem:RecCount() ) // --> 0 elementos
¿¿ La pregunta es... ¿como podemos hacer una copia del objeto tMemDataSet
sin que, al destruirse el objeto copiado, se eliminen tambien los elementos
tambien del nuevo objeto ??
Saludos y gracias!
José Luis Capel
Tengo una clase como sigue:
//------------------------------------------> Inicio código
CLASS miClase FROM tComponent
COMPONENT oMemDataSet
METHOD New() CONSTRUCTOR
METHOD CopiaMem() INLINE ::oMemDataSet
METHOD End()
ENDCLASS
METHOD NEW( oParent ) CLASS tMiClase
WITH OBJECT ::oMemDataSet := tMemDataSet():Create( oParent )
:open( {{1,2,3},{3,4,5}, {"a","b","c"} )
END
Super:New( oParent )
RETURN Self
METHOD End() CLASS tMiClase
TRY
::oMemDataSet:End()
END
RETURN Super:End()
//------------------------------------------> Fin código
Y luego en mi aplicación hago esto:
LOCAL oCl
LOCAL oMem
oCl := tMiClase():New( Self ) // Self -> formulario
oMem := oCl:CopiaMem() //--> tiene tres elementos
MsgInfo(oMem:RecCount() ) // --> 3 elementos
oCl:End()
MsgInfo(oMem:RecCount() ) // --> 0 elementos
¿¿ La pregunta es... ¿como podemos hacer una copia del objeto tMemDataSet
sin que, al destruirse el objeto copiado, se eliminen tambien los elementos
tambien del nuevo objeto ??
Saludos y gracias!
José Luis Capel