In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

DataSource

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

DataSource

Mensaje por zeasoftware »

Tengo un problema, hago un datasource global el cual paso a cada Dataset que utilizo en el sistema, ejemplo:
With Object oDSourceGlobal := TCDXD.......()
:cConnect := "C:MiSistema"
::::::
End
with Object oCliente := TDbfDataSet(::::::::::::::::::::)
:oDataSource := oDSourceGlobal
::blah blach
End
oCliente:Close()
//hasta aqui bien,
//pero si deseo usar un archivo de un directorio diferente,
with Object oParams := TDbfDataSet(::::::::::::::::::::)
:oDataSource := oDSourceGlobal
:oDataSource:cConnect := "C:"
End
oParams:Close()
//y seguimos bien....
//pero....
with Object oCliente := TDbfDataSet(::::::::::::::::::::)
:oDataSource := oDSourceGlobal
:Open() <<<----------- Ya abre el archivo en "C:" y no en "C:Misitema" ??????
End

Acaso al hacer:
oDataSource2 := oDataSource1
- lo que mueva en oDataSource2 afectara a oDataSource1?
- oDatasource2 se vuelve un Clone o un apuntador a oDatasource1?
Gracias.
[x] Omitir sintaxis
--
Ramón Zea
ramonzea@yahoo.com
zeasoftware@hotmail.com
zeasoft.movil@hotmail.com

http://www.paginasprodigy.com/zeasoft/
--
Xavi[1]
Mensajes: 55
Registrado: Mar Jul 18, 2006 2:02 pm

DataSource

Mensaje por Xavi[1] »

Claro, los objetos se asignan por referencia, igual que las Arrays.-
Local aCopy, aData := { 1,2,3 }
aCopy := aData
aCopy[2] := 5
MsgInfo( aData[2] ) ==> 5
Cosa diferente a Clonar, Copiar, en memoria el Objeto o Array.-
Local aCopy, aData := { 1,2,3 }
aCopy := AClone( aData )
aCopy[2] := 5
MsgInfo( aData[2] ) ==> 2
Sólo, que yo sepa, no existe un OClone().
Te lo has de currar a base de __ObjSetValueList(), etc...
Con lo cual.-
> with Object oParams := TDbfDataSet(::::::::::::::::::::)
> :oDataSource := oDSourceGlobal
> :oDataSource:cConnect := "C:"
A PARTIR DE AQUI oDSourceGlobal:cConnect == "C:"
Un saludo
Xavi
Responder