Problema con un IbDataset;
D7 + Firebird 2.0.
Tengo un IbDataset ubicado en un Datamodulo lanzo una consulta y funciona correctamente, pero no la segunda vez y siguientes que me sigue mostrando los datos de la primera vez a pesar de que desconecto el DataSet y destruyo el Datamodulo en el que se encuentra.
Con el código en rojo he logrado que me funcione, ahora el problema es que tengo conectado un QuickRep al mismo DataSet y siempre me lanza el mismo listado, es decir el de la primera consulta. ??? Un Saludo. |
¿Y en qué momento creas la nueva consulta?, la que sustituye a la anterior.
|
Hola Marcos.
Al parecer esto se debe a que la primera instancia del módulo de datos no es realmente destruida en AbrirCerrar_Modulo_DmExisten. Y cuando llamas de nuevo a este procedimiento se crea una segunda instancia, quedando la primera todavía asociada con los objetos de la interfaz de usuario. Parte del problema está en el uso del valor 0, cuando el procedimiento requiere el valor 2 (se recomienda el uso de constantes con nombre para evitar estas discrepancias). Pero, además, debes asegurarte de no destruir el módulo de datos mientras haya instancias de formularios relacionadas con él. Pues la destrucción de una instancia de módulo de datos para en seguida crear otra, aunque la asignes a la misma variable global (DmExisten), no hará que los formularios existentes se reasocien en automático al nuevo módulo (quedarían más bien sin conjuntos de datos asociados por haber sido destruidos éstos al liberar el primer módulo de datos). Espero te ayude a solucionar el problema. Un abrazo modulado. Al González. :) |
Gracias por las sugerencias, mañana haré más pruebas y os cuento.
Por cierto Al, de mano acabo de ver el terrible fallo, es decir llamar con 0 cuando necesita 2, haré un cambio para que el 0 sea cerrar y seguro que funciona. Un Saludo. |
La franja horaria es GMT +2. Ahora son las 09:19:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi