FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error al abrir y cerrar un Form con varias tablas
Buenas Tardes,
estoy haciendo un programilla con delphi7(mas bien lazarus) y postgres usando Zeolib. He creado un DataModule en el que meto la conexion a la BD (y la abro) y todos los DS y Tablas que usa el programa. Para no liarme de momento todas las tablas estan activadas aqui. Por otro lado tengo varios Form. Dos de ellos son fichas de clientes y trabajadores y uno lo he llamado Obras y en él intervienen dos tablas. No tengo claro el concepto de abrir y cerrar tablas ni acabo viendo la diferencia entre activar o abrir una tabla. El caso es que si abro y cierro varias veces el form de clientes todo funciona perfectamente. Sin embargo si abro el form Obras y lo cierro, sin tocar nada en él, resulta que me da un fallo al intentar abrir Clientes. La unica relacion que veo en esto es que Obras tiene un DBLookUpComboBox que despliga el nombre de la tabla clientes y supongo que eso hace que despues tenga problemas. Como referencia Abro las tablas con OPen en el evento Create y las cierro en Close (incluso he probado en destroy). Estoy convencido que hago algo mal a la hora de usar las tablas pero no acabo de dar con el fallo. No se si me he explicado lo suficientemente bien como para que alguien me eche una mano con esto Gracias de todos modos por vuestra atención
__________________
Mi proyecto paso a paso (Parte I) |
#2
|
||||
|
||||
Sin ver nada del código que estás utilizando es difícil saber dónde puede estar el error.
El lugar de en el Create, yo utilizaría el OnShow, más que nada, porque dependiendo de cómo cierres los formularios, puede ser que tengas problemas con eso.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Al final, visto que me estaba liando con crear, abrir, cerrar ... he decidido empezar paso a paso revisando la creacion, apertura y cierre, destruccion de los formularios.
El problema lo he resuelto asignando al evento OnClose del formulario - Action:=caFree Por lo entiendo al llamar al formulario lo estoy creando, pero luego solo usaba close para cerrarlo sin destruirlo ni liberar memoria. En Destroy le he metido el cierre de todas las tablas y en Create la apertura, asi toda va correctamente. Gracias a todos
__________________
Mi proyecto paso a paso (Parte I) |
#4
|
||||
|
||||
Cita:
Si revisas la ayuda del evento OnClose de la clase TForm (TCustomForm) pone lo siguiente: ------------------------------------------------------------------------ If a form is an MDI child form,... then the default Action is caMinimize ... or the default Action is caNone ... If a form is an SDI child form, Action defaults to caHide. To close the form and free it in an OnClose event, set Action to caFree. ------------------------------------------------------------------------ Vamos, que segun el tipo de formulario (y algunas propiedades) se hace una u otra cosa por defecto, pero en ningun caso se destruye. Si quieres asegurarte de que se destrute, debes llamar al:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
cerrar una aplicacion que consta de varias ventanas | miguel_e | Varios | 2 | 21-06-2008 02:30:24 |
Error Al Crear Varias Veces El Mismo Form | ManuelPerez | Varios | 7 | 18-09-2007 21:31:02 |
Cerrar un Form MDI al abrir otro MDI | David | OOP | 7 | 17-08-2006 18:14:37 |
Cerrar varias aplicaciones desde delphi | valera | API de Windows | 0 | 26-04-2005 18:24:37 |
Abrir varias veces el mismo form | Phacko | Varios | 7 | 25-09-2004 05:22:01 |
|