Ver Mensaje Individual
  #9  
Antiguo 04-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Con 115 Datasets, mas vale que te organices un poco. Hazte un esquema de qué datasets usas en cada ventana, y como es normal, habrá datasets que lo uses en varias ventanas, si al cerrar una ventana cierras un Dataset comun a otra ventana, ésta última se te quejará!!!

En este caso, tendrás que crearte una lista con todos los datasets que tengas, y un contador para cada Dataset, de tal forma que :
- Al abrir una ventana, aumentes el contador:
- Si el contador valía 0 y se ha incrementado, abres el Dataset.
- Si el contador es >0, incrementas el contador y no haces nada más.
- Al cerrar una ventana, decrementas el contador:
- Si el contador vale cero despues de decrementar, cierras el dataset.
- Si el contador es mayor que cero, solo decrementas el contador.

Con tantos Datasets es demasiado laborioso enumerarlos, así que tendrás que recorrer todos los componentes TTable, Tquery, etc, y metiendo una referencia en una tabla (por ejemplo) para despues poder abrirlos y cerrarlos comodamente.

Por cierto es mejor que abras los Datasets en el evento OnCreate o en el OnShow del form, ya que el Activate puede ser demasiado repetitivo.

En respuesta a tu pregunta, Si, basta con usar Dataset.Open y Dataset.Close, pero despues de leer este mensaje, habrás comprendido que puede ser algo "más complejo"

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita