Hola,
Me he dado cuenta de un detalle en el que hasta ahora no había caído y que
no sé si se ha tratado ya por aquí.
Al crear los DataSet con lNew:= .t., cada vez que entramos en un formulario,
las dbf se abren lógicamente un un área nueva.
El detalle es que al cerrar el formulario no se cierran las dbf y cuando
reabro el formulario, se vuelve a abrir la dbf en otro área.
En cambio el dataset creo que sí que de destruye ¿verdad?
Así, si entro en el mantenimento de zonas 20 veces, tengo zonas.dbf abierto
en 20 áreas diferentes.
Para cerrar la dbf se tiene que hacer en el evento OnDestroy con ::Dataset:Close()
Si se hace en el evento OnClose da un error. Creo que es porque al realizar
el OnClose ya se ha destruido el Dataset ¿es así?
Un saludico,
Fredy
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.
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.
Cerrar las dbf
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Cerrar las dbf
Fredy,
¿Estas seguro?
Acabo de comprobar que el evento OnPostClose se dispara perfectamente cuando
cierre el formulario que contiene el DataSet. No será que el formulario tien
un lHideOnClose a VERDADERO y entonces no se destruye realmente.
Por favor mandame un ejemplo que muestre el problema.
Gracias.
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f3fa18c765b64ab26ea8@news.xailer.com...]a20b86f3fa18c765b64ab26ea8@news.xailer.com...[/email]
> Hola,
>
> Me he dado cuenta de un detalle en el que hasta ahora no había caído y que
> no sé si se ha tratado ya por aquí.
> Al crear los DataSet con lNew:= .t., cada vez que entramos en un
> formulario, las dbf se abren lógicamente un un área nueva.
> El detalle es que al cerrar el formulario no se cierran las dbf y cuando
> reabro el formulario, se vuelve a abrir la dbf en otro área.
> En cambio el dataset creo que sí que de destruye ¿verdad?
> Así, si entro en el mantenimento de zonas 20 veces, tengo zonas.dbf
> abierto en 20 áreas diferentes.
>
> Para cerrar la dbf se tiene que hacer en el evento OnDestroy con
> ::Dataset:Close()
>
> Si se hace en el evento OnClose da un error. Creo que es porque al
> realizar el OnClose ya se ha destruido el Dataset ¿es así?
>
> Un saludico,
> Fredy
>
>
¿Estas seguro?
Acabo de comprobar que el evento OnPostClose se dispara perfectamente cuando
cierre el formulario que contiene el DataSet. No será que el formulario tien
un lHideOnClose a VERDADERO y entonces no se destruye realmente.
Por favor mandame un ejemplo que muestre el problema.
Gracias.
"Fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f3fa18c765b64ab26ea8@news.xailer.com...]a20b86f3fa18c765b64ab26ea8@news.xailer.com...[/email]
> Hola,
>
> Me he dado cuenta de un detalle en el que hasta ahora no había caído y que
> no sé si se ha tratado ya por aquí.
> Al crear los DataSet con lNew:= .t., cada vez que entramos en un
> formulario, las dbf se abren lógicamente un un área nueva.
> El detalle es que al cerrar el formulario no se cierran las dbf y cuando
> reabro el formulario, se vuelve a abrir la dbf en otro área.
> En cambio el dataset creo que sí que de destruye ¿verdad?
> Así, si entro en el mantenimento de zonas 20 veces, tengo zonas.dbf
> abierto en 20 áreas diferentes.
>
> Para cerrar la dbf se tiene que hacer en el evento OnDestroy con
> ::Dataset:Close()
>
> Si se hace en el evento OnClose da un error. Creo que es porque al
> realizar el OnClose ya se ha destruido el Dataset ¿es así?
>
> Un saludico,
> Fredy
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Cerrar las dbf
Hola,
Te mando un pequeño ejemplo.
A mí no se me dispara solo el OmPostClose, como verás, tengo que ponerle el Close() en el FormDestroy, si no, cada vez que entro al formulario tengo un nuevo área abierta.
En el caso de que se dispare solo el OnPostClose al cerrar el formulario ¿Sería necesario poner un oSender:Close() dentro para que se cierre la dbf, o lo hace él solo?
Un saludico,
Fredy
--
Attached files MAIN.zip (2.7 KB)Â
Te mando un pequeño ejemplo.
A mí no se me dispara solo el OmPostClose, como verás, tengo que ponerle el Close() en el FormDestroy, si no, cada vez que entro al formulario tengo un nuevo área abierta.
En el caso de que se dispare solo el OnPostClose al cerrar el formulario ¿Sería necesario poner un oSender:Close() dentro para que se cierre la dbf, o lo hace él solo?
Un saludico,
Fredy
--
Attached files MAIN.zip (2.7 KB)Â
- ignacio
- Site Admin
- Mensajes: 9447
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Cerrar las dbf
Fredy,
Tienes toda la razón. A mi se me ejecutaba porque al cerrar el formulario
también se salía de la aplicación y en dicho momento también se cierran los
datasets.
Ya lo tengo arreglado. Si puedes sobrevivir con este bug te lo agradezco
sino tendría que mandarte unas cuantas clases modificadas. Tu me dirás.
Un saludo,
"fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f40898c7663df0ca9cd4@news.xailer.com...]a20b86f40898c7663df0ca9cd4@news.xailer.com...[/email]
Hola,
Te mando un pequeño ejemplo.
A mí no se me dispara solo el OmPostClose, como verás, tengo que ponerle el
Close() en el FormDestroy, si no, cada vez que entro al formulario tengo un
nuevo área abierta.
En el caso de que se dispare solo el OnPostClose al cerrar el formulario
¿Sería necesario poner un oSender:Close() dentro para que se cierre la dbf,
o lo hace él solo?
Un saludico,
Fredy
Tienes toda la razón. A mi se me ejecutaba porque al cerrar el formulario
también se salía de la aplicación y en dicho momento también se cierran los
datasets.
Ya lo tengo arreglado. Si puedes sobrevivir con este bug te lo agradezco
sino tendría que mandarte unas cuantas clases modificadas. Tu me dirás.
Un saludo,
"fredy" <fredy@airtel.net> escribió en el mensaje
news:[email=a20b86f40898c7663df0ca9cd4@news.xailer.com...]a20b86f40898c7663df0ca9cd4@news.xailer.com...[/email]
Hola,
Te mando un pequeño ejemplo.
A mí no se me dispara solo el OmPostClose, como verás, tengo que ponerle el
Close() en el FormDestroy, si no, cada vez que entro al formulario tengo un
nuevo área abierta.
En el caso de que se dispare solo el OnPostClose al cerrar el formulario
¿Sería necesario poner un oSender:Close() dentro para que se cierre la dbf,
o lo hace él solo?
Un saludico,
Fredy
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Cerrar las dbf
Hola,
No te preocupes, que me apaño poníendolo en el onDestroy
Un saludico,
Fredy
No te preocupes, que me apaño poníendolo en el onDestroy
Un saludico,
Fredy