PDA

Ver la Versión Completa : Saber si un Tabla(dataset) esta siendo usado por otro componente


cacuna
25-05-2004, 01:56:54
Que tal a todos los foristas.
Algo de informacion.
Trabajo en una aplicacion MDI. Uso Firebird, Delphi 7 y las IBX.

Ahora bien.Lo que deseo hacer es lo siguiente.
Al abrir varias formas MDI, pueden los componentes una o mas estar ligadas a Tablas (IBDataset) en comun, asi que, al momento de cerrar y liberar una Forma , cierro tambien mis tablas. Deseo saber si la tabla que voy a cerrar esta siendo usada en otra forma, y de ser asi, no cerrarla y dejarla abierta , de lo contrario, si no esta siendo usada en otra forma (por otro componente) permitir cerrarla.

Espero haberme explicado bien.

Saludos y gracias de antemano.

cacuna.

delphi.com.ar
25-05-2004, 05:47:34
Los DataSources mantienen una lista con todos los DataLinks, pero esta lista esta protegida, no conozco el motivo, pero será cuestión de publicarla total no vas a modificarla, solo consultarla.

jachguate
25-05-2004, 08:14:49
Una solución de chapuza, pero que a mi me ha funcionado, es valerme de la propiedad TAG. Cada vez que abro una tabla, aumento el tag. Cuando el formulario se cierra, lo disminuyo y si es cero, pues cierro la tabla (o el dataset en general), y si no la dejo abierta.

Hasta luego.

;)

cacuna
26-05-2004, 18:21:43
Muchas gracias a ambos por sus respuestas.
Me han sido de mucha ayuda, en particular, la 2da. que si bein tal vez no sea la mas conveniente o correcta pero si la mas sencilla y rapida de implementar, ya que lo hize en solo tres lineas de codigo y funciona a la perfeccion.

Nuevamente...mil gracias......