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.

Create TDBFDataSet x Table in use

Foro público de Xailer en español
User avatar
Hurricane
Posts: 101
Joined: Tue Mar 24, 2015 10:21 am
Location: Brasil
Contact:

Create TDBFDataSet x Table in use

Postby Hurricane » Sat Sep 15, 2018 10:43 pm

a través de código es posible crear un TDBFDataSet de una tabla en uso (abierta)?
Menu principal -> Form A (browse/USE Table/Sin DataSet) -> FORM B (Aquí crear el DataSet para la Inclusión / Edición)

No quería crear en Form A para después compartir con el form B. No forzar el cierre y reapertura de la tabla.
Desde cualquier parte del sistema, podría llamar al FORM B, sólo con ALIAS (entonces crear el DataSet) o con el DataSet.
User avatar
ignacio
Site Admin
Posts: 8530
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Create TDBFDataSet x Table in use

Postby ignacio » Mon Sep 17, 2018 9:58 am

Buenos días,

Consulte el método TDbfDatasetClone(). Espero que sea lo que está buscando

Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
User avatar
Hurricane
Posts: 101
Joined: Tue Mar 24, 2015 10:21 am
Location: Brasil
Contact:

Re: Create TDBFDataSet x Table in use

Postby Hurricane » Mon Oct 01, 2018 1:57 pm

Buenos días,

yo había consultado. Con clone tendrá 2 instancias (DataSet) y 2 alias para la misma tabla.

Explicando mejor.
Me gustaría crear un DataSet (en el Form 2) de una tabla que ya abierta (a través de USE en el Form 1) y todavía no tiene ningún DataSet. Actualmente creo que esto no es posible en Xailer, obligando a crear el DataSet sólo de las tablas cerradas.

Tal vez utilice el modo tradicional o crear un método en la clase TDBFDataSet.

gracias.
User avatar
ignacio
Site Admin
Posts: 8530
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Re: Create TDBFDataSet x Table in use

Postby ignacio » Mon Oct 01, 2018 6:21 pm

Buenos días,

Ello no supondría ningún problema a no ser que necesite abrir la tabla en modo exclusivo. Con Harbour se pueden tener miles de handles abiertos de ficheros. La limitación de CA-Clipper ya no existe. Además teniendo dos alias distintos se olvida del problema de movimientos del recno, filtros o cambios de ordenes. En definitiva, y en mi opinión, las ventajas de manejar dos alias son tremendas.

No obstante si lo que desea es evitarlo y dado un alias confeccionar un objeto TDbfDataset() simplemente cree un constructor de CreateFromAlias( cAlias ) y siga los pasos que se muestran en el método TDbfDataSet:Open().

Saludos

Nota: Creo que Harbour tiene una función que dado un Alias retorna el nombre del fichero DBF, pero desconozco su nombre.
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info

Return to “Spanish”