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.

Posible Bug en TDbfDataSet con ADS

Foro público de Xailer en español
Responder
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Posible Bug en TDbfDataSet con ADS

Mensaje por Gabo »

Bueno.. anteriormente deje un post de un error que marca tdbfdataset. he estado investigando y creo que es un bug. si uso un objeto publico del dataset de esta manera

AppData:oDbfDSMaestro:= TDbfDataSet():Create( Self )
WITH OBJECT AppData:oDbfDSMaestro
:cName:= "MOVXRECIBOS.ADT"
:oDataSource:= AppData:oADSdsMain
:lNew:= .T.
:lShared:= .T.
END WITH

NOTA: no estoy abriendo el dataset para abrirlo en el modulo que uso los datos. con el proposito de ver si de esta manera no me marca el error.
El modulo externo donde uso el dataset hago lo siguiente

WITH OBJECT AppData:oDbfDSMaestro
:Close()
:lNew:= .T.
IF ! :Open()
MsgStop( "NO ES POSIBLE ABRIR LA TABLA DE SUCURSALES")
RETURN .F.
ENDIF
END WITH
IF AppData:oDbfDSMaestro:lOpen
MsgStop("ESTA ABIERTO") // AQUI ME MARCA QUE SI ESTA ABIERTO!
ENDIF
AppData:oDbfDSMaestro:GoTop() // Aqui me marca el siguiente error
Descripción: Area de trabajo no usada // OJO ESTE ME MARCA EN TODOS LOS ERRORES
Operación: DBGOTOP
TDBFDATASET:GOTOP (415)
TFORMACCESO:FORMINITIALIZE (74)

Lo curioso del caso es que si uso un objeto tDbfDataset en el mismo modulo y usando el mismo codigo si funciona. no marca ningun error. el dataset publico si se abre el problema es que no encuentra el ALIAS los errores que me marca en los objetos publicos es que el ALIAS no existe.
Saludos
hgarciaj
Mensajes: 107
Registrado: Jue Sep 23, 2010 12:44 am

Posible Bug en TDbfDataSet con ADS

Mensaje por hgarciaj »

Gabo,
No entiendo la necesidad de hacer un objeto público del dataset, puedes hacer referencia al objeto original de la forma Application:omainform:oDatasSet, o bien si necesitas hacerlo imagino que creaste previamente la variable oDbfDSMaestro, que la puedes cargar desde el módulo original de la forma AppDatata:oDbfDSMaestro:=::oDataSet:clone(), yo uso ADS sin problemas desde hace muchos años con diccionario de datos, tablas libres y también con acceso remoto
Si necesitas ayuda con gusto estoy a tus órdenes.
Saludos
Héctor García
Gabo
Mensajes: 104
Registrado: Mié Oct 27, 2010 1:36 am

Posible Bug en TDbfDataSet con ADS

Mensaje por Gabo »

Gracias garcia. pero ya cambie mi codigo creando un dataset en cada modulo que uso las tablas de ads. la intencion era abrir todas las tablas al inicio del programa. pero no me funciono
hgarciaj
Mensajes: 107
Registrado: Jue Sep 23, 2010 12:44 am

Posible Bug en TDbfDataSet con ADS

Mensaje por hgarciaj »

Gabo
yo la abro al principio del programa, y hago referencia a ellas creando un DATA en cada módulo así­
DATA oDbfLocal
y en el evento oncreate del módulo haces
::oDbfLocal:=Applicaction:oMainform:oDbfalinicio
y con eso tienes acceso sin tener que abrir y cerrar BD en cada módulo.
Mira el ejemplo de dbfs o browses no recuerdo bien cual pero en ellos se murestra lo que te digo ... creo que es browses que se abren en folders.
Saludos
Héctor García
Responder