FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Abrir DBFs al abrir ventanas
Posts: 257
Joined: Tue May 16, 2006 04:46 PM
Abrir DBFs al abrir ventanas
Posted: Tue Jun 21, 2011 04:42 PM

Hola foro,

Estoy programando por 1ra vez con ventanas en lugar de dialogos y lo que hago cada vez que el usuario abre la misma ventana que contiene un browse, abre los mismos 10 DBFs con diferente alias para cada ventana.

Mi pregunta es, es "sano" hacerlo asi? o hay otra forma de acerlo ya que pienso que cada vez que se abre un DBF consume mucha memoria y si por ejemplo el usuario abre 5 veces la misma ventana tendria 50 archivos abiertos.

La idea de poder abrir la misma ventana varias veces es que pueda definir diferentes filtros para cada una de ellas.

RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
Posts: 601
Joined: Wed Jul 04, 2007 03:51 PM
Re: Abrir DBFs al abrir ventanas
Posted: Tue Jun 21, 2011 05:20 PM

Hola...
Yo uso una funicón que me retorna un número de alias disponible.
De ese modo, sin importarme el nombre de alias, armo el nombre dentro de una variable.
Luego hago SELECT (cMiAlias) y listo.

Saludos, Esteban.

Ojeda Esteban Eduardo.

Buenos Aires - Argentina.

FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport

Skype: jreduojeda
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Re: Abrir DBFs al abrir ventanas
Posted: Tue Jun 21, 2011 05:29 PM

Me parece que lo más sano es abrir las BBDD al comienzo de la ejecución del aplicativo y cerrarlas cuando salgo del programa. Así he trabajado siempre sin ningún problema.
Salu2

Posts: 1515
Joined: Thu Oct 30, 2008 02:37 PM
Re: Abrir DBFs al abrir ventanas
Posted: Tue Jun 21, 2011 05:34 PM
Rodolfo,

No sólo es sano, sino imprescindible.

Cada browse es necesario que tenga su propio area de trabajo porque de lo contrario sobre cualquier refresco del browse, por ejemplo movimiento de ventanas superpuestas, "destrozará" el browse pintado.

Al principio yo me resistí a la técnica de abrir la .dbf por cada browse. Con el tiempo le perdí el miedo por 2 razones. 1º En 32 bits los ficheros abren rapidísimo. 2º Se puede decir que el nº de handles disponibles para fichero es ilimitado.

Es cierto que a mi esta forma de trabajar no me gusta, pero lo contrario consistiría en crear un rdd que pudiera contener distintas areas de trabajo del mismo fichero... pero no me parecía la mejor cosa lo de crear un rdd nuevo/modificado.

Lo que sí debes hacer es ir cerrando las áreas abiertas cuando salgas del browse, y si siempre los tienes abiertos, pues cierras la áreas "recolectadas" al salir del programa, y sino un CLOSE DATABASES; yo prefiero recolectarlas: es más ordenadito y más control.

Saludos

RodolfoRBG wrote:Hola foro,

Estoy programando por 1ra vez con ventanas en lugar de dialogos y lo que hago cada vez que el usuario abre la misma ventana que contiene un browse, abre los mismos 10 DBFs con diferente alias para cada ventana.

Mi pregunta es, es "sano" hacerlo asi? o hay otra forma de acerlo ya que pienso que cada vez que se abre un DBF consume mucha memoria y si por ejemplo el usuario abre 5 veces la misma ventana tendria 50 archivos abiertos.

La idea de poder abrir la misma ventana varias veces es que pueda definir diferentes filtros para cada una de ellas.
Posts: 257
Joined: Tue May 16, 2006 04:46 PM
Re: Abrir DBFs al abrir ventanas
Posted: Wed Jun 22, 2011 03:38 AM

Esteban, Horacio: Gracias, asi lo hago pero no iba por ahi la pregunta.

hmPaquito: Esa era exactamente mi duda y en efecto llevo un control de los DBFs que se abren para cada ventana para cerrarlos al cerrar la ventana y dejar abiertos solo los DBFs de otras ventanas que continuan abiertas.

Tenia el temor de que si permanecen abiertos muchos DBFs o si abria varias veces el mismo DBF con diferente alias podria afectar al funcionamiento del sistema.

Salu2

RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com

Continue the discussion