Muchas gracias Javier.
Bueno, primeramente decir que GH Freebrary viene dentro del paquete MagiaData7.zip que subí, y es que las clases TMagiaXXX llaman a algunas funciones "sueltas" de GH Freebrary. Por ejemplo, la propiedad DataSetCloned de TMagiaDataSource causa que internamente se llame a la función ghCloneDataSet de la unidad GHFData, misma unidad donde se encuentra también la función que amablemente ilustró
fjcg02.
Neeruu, yo uso todo el tiempo la anterior característica. Es decir, coloco en uno o varios módulos de datos los
data sets, pero pongo los
data sources (TMagiaDataSource) en los formularios, activándoles a estos la propiedad DataSetCloned para que el formulario trabaje con una copia propia y local del conjunto de datos (un "clon"), y así darle mayor autonomía y evitar conflictos con otros formularios que también necesiten trabajar con el mismo conjunto de datos (ya sea simultáneamente o después en la misma sesión).
Así no tengo necesidad de crear varias instancias de un mismo módulo de datos y tampoco me preocupo de las propiedades que le establezco en tiempo de ejecución al conjunto de datos, porque es un clon que sólo afecta al ámbito del formulario y será destruido cuando el formulario se destruya también.
No obstante, comentas que sin usar nada de esto tienes demoras en las conexiones o aperturas de los conjuntos de datos. Entonces quizá convenga que primero revises por qué se tarda al abrir. Tal vez me equivoque, pero puede que estés trayendo muchos registros al activar alguna tabla o consulta. Creo que sería oportuno atacar primero ese problema.
Mencionas también que leíste ya algo sobre Magia Data. Probablemente se trata de
este material. De cualquier manera lo enlazo para ayudar a explicar de forma más clara por qué había necesidad de algo así y las ventajas que se obtienen con el componente.