![]() |
Problemas de memoria al cerrar FORM
Hola amigos Foreros....
Nuevamente solicitando su ayuda. Antes que nada les comento q estoy trabajando con Delphi6, FB 1.5. El problema es el siguiente: Tengo un Form (frmMenu) del tipo fsMDIForm y desde este form mando llamar a otro form (frmVentas) del tipo fsMDIChild y desde aqui mando llamar a otro form (frmCodigoBarra) del tipo fsStayOnTop. en frmMenu, este es el codigo q utilizo para llamar a frmVentas:
y estando en frmVentas, dentro de la estructura de un CASE, llamo a frmCodigoBarra usando F9 de la siguiente manera:
Estando en frmCodigoBarra, si puslo la tecla F9 el form se cierra. El evento de OnKeyDown de frmCodigoBarra tengo este codigo:
Y en el evento OnClose de frmCodigoBarra, tengo esto:
Cuando se cierra frmCodigoBarra, el control pasa a frmVentas. En este formulario tengo un panel donde el usuario captura los datos de llave primaria para llamar el registro y consultarlo o modificarlo, etc. En el evento OnEnter de este panel, tengo lo siguiente:
En cada iteración que hace el usuario para consultar algun registro, entra al evento OnEnter del panel de frmVentas, para "inicializar" algunas variables, cerrar algunos componentes IBQuery e iniciar una nueva transacción, etc, etc. hasta llegar a la validacion del form de frmCodigoBarra=nil.... ESCENARIO: Supongamos que estando en frmVentas(fsMDIChild) activo el form frmCodigoBarra (fsStayOnTop) usando F9, pero me arrepiento y mejor la cierro, recordando q en estos momento el control esta en frmCodigoBarra, asi pues al pulsar F9 se ejecutan los siguientes codigos:
Y en el evento OnClose de frmCodigoBarra, tengo esto:
Y si el usuario decide no trabajar con frmCodigoBarra, empiza a marcar errores de este tipo: 'Access violation at address 0061FC11 in module 'miaplicacion.exe'. Read of address 00000000'. Process stopped....etc, etc.' Que me hace falta definir para evitar este error !?....alguien me pudiera ayudar. En realidad no sé si fui explícito en el planteamiento del problema, en caso de que haber sido asi, les agradeceré mucho me lo informaran. Gracias amigos ! por ayuda y sobre todo POR SU TIEMPO !!!.....GRACIAS !! |
BUENO.....me respondo solo !!! jejejeje....
En cuanto publique el hilo me fije en los links de abajo....Y OH SORPRESA !!!....AHI ESTABA LA RESPUESTA. En uno de ellos menciona q en el Evento OnDestroy, agregar la siguiente linea de codigo Form4:=nil......asi q se lo agregue a mi aplicacion y funciono....vaya....eso pasa por haber consultado previamente en el foro de Delphi.....LO LAMENTO MUCHACHOS !!!....MEA CULPA !.... PROBLEMA SOLUCIONADO !!! |
| La franja horaria es GMT +2. Ahora son las 09:44:07. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi