Página 1 de 1

DataSource

Publicado: Mar Sep 12, 2006 2:20 am
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/
--

DataSource

Publicado: Dom Sep 17, 2006 8:40 pm
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