FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Como cerrar una aplicacion sin mensajes de error
Utilizo delphi 6
Buenas tardes hace algunos dias le agregue a mi aplicacion una libreria utilizando DLLHandlecat:= LoadLibrary('libre100.DLL'); al terminar la aplicacion FreeLibrary(DLLHandlecat); de esta forma cargue como 4 librerias diferentes, al cerrar la aplicacion con Applitacion.terminate; Me envia un mensaje de error, el cual no se como eliminarlo al cerrar la aplicacion, access violation at 0x40004af0: read of address 0x02a36e1c' Process Stopped. Use Step or Run to continue. Al terminar la aplicacion me envia este mensaje y si lo compilo desde delphi me envia a Delphi con un cuadro Gris que dice CPU y presiono F8 y me envia NTdll.ntdllraiseException y se cicla en este mensaje. Agradeceria si alguien me puede ayudar. Nota: si no cargo las dlls con loadlibrary no me envia este mensaje de error. |
#2
|
||||
|
||||
Hola,
En mi opinión el tema no debe enfocarse en cómo cerrar (forzar el cierre) de una aplicación sin que esto produzca errores, sino en solucionar los errores que se producen al tratar de cerrar la aplicación. Debería ser un poco más explícito en lo que hacen las librerías que usas, en cuál es su cometido y cómo estás utilizándolas. Las "violaciones de acceso" suelen darse (pero no estoy cien por cien seguro de que sea así siempre) por que se trata de acceder a un segmento de memoria inválido. Por ejemplo, si tratas de cambiar la propiedad "Caption" de un "botón" que no ha sido creado aún o que ya fue destruído... te encontrarías con una "violación de acceso". |
#3
|
||||
|
||||
Lee la ayuda de LoadLibrary y FreeLibrary, allí te dirán las excepciones que saltaran o como interceptarlas... por ejemplo:
Ya que da fallo en esa parte, deberías poner atención a esas rutinas. Incluso antes de llamar a Application.Terminate (que es una interrupción abrupta de tu programa), ordena liberar las bibliotecas. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
Buenasss
podrías manejar el cierre de las librerías en la sección finalization de la unidad principal, por ejemplo:
De esa manera al cierre de la aplicación por el metodo que sea (siempre que no sea matando el proceso), se ejecutará la liberación de las librerías. Saludos
__________________
Un cordial saludo. ~~~~~~~~~~~~~~~~~~ José A. Gómez Martín pandre@arsystel.com |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Error al cerrar mi aplicación | busraglu | Conexión con bases de datos | 2 | 29-01-2007 21:55:09 |
Mensaje de Error al Cerrar Aplicacion | pikachuy | SQL | 2 | 09-05-2006 15:26:50 |
Error al cerrar mi aplicación | Albano | OOP | 1 | 08-12-2005 20:42:32 |
Error al cerrar la aplicación en RTL90.bpl | Jesús Pena | Varios | 0 | 24-11-2005 11:27:08 |
Error al cerrar la aplicacion!! | Waldo | API de Windows | 2 | 22-11-2003 00:39:12 |
|