Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Runtime error 216 al cerrrar aplicacion (https://www.clubdelphi.com/foros/showthread.php?t=74265)

erickperez6 08-06-2011 17:19:15

Runtime error 216 al cerrrar aplicacion
 
Saludos,

Mi aplicacion funciona correctamente, no obtengo ningun mensaje de error al momento de operarla, pero al cerrarla me arroja este mensaje "Runtime error 216".

Aparece muy poca informacion de como detectar y corregir este error googleando un poco, solo se que es algo que concierne a un acceso invalido a la memoria que realiza la aplicación, pero cual es? por donde comienzo a revisar? cuales son las precauciones que debo de tomar para no toparme con este error tarde o temprano? pues no se.

Es una aplicacion grande, de unas 130 formas aproximadamente, hace llamadas a dll externas, tiene conexion a base de datos, reporteadores, etc.

En un inicio pense que el problema venia del uso de la DLL, no uso el SHAREMEM ya que las funciones no manejan parametros ni resultados del tipo string, solo pchar en algunos casos, ademas estas dll las utilizo en otras aplicaciones y no dan ningun problema, incluso elimine todas las referencias e invocaciones de la dll de modo de prueba y de cualquier forma sigue apareciendo el error al cerrar la aplicacion.

Hice una prueba de unicamente ejecutar la aplicacion y cerrarla antes de usar cualquier recurso (haces de invocar cualquier dll, antes de conectarse a la db, antes de cualquier operacion) y como quiera el error aparece cuando cierro. Lo que me hace pensar que se debe a algo que ya viene desde las declaraciones iniciales que acompaña la creacion de la aplicacion. Alguien se a topado con este error o lo conoce?

oscarac 08-06-2011 17:26:41

aqui encontre algo que se hablo en el foro anteriormente

oscarac 08-06-2011 17:34:36

y aqui encontre este otro

erickperez6 08-06-2011 17:59:00

Gracias oscarac por responder, ya habia visto estos post y ninguno son mi caso. Pero por suerte y casi milagrosamente resolvi el problema ahora mismo. Digo milagrosamente porque este es un error que en la mayor de las veces que aparece no da señales ni origenes de donde se produce y no sabemos ni por donde empezar, salvo casos que recordamos que fue lo ultimo que trabajamos antes de aparecer el error y ya suponemos por donde viene el problema.

Por lo que he visto y leido del error Runtime 216 se produce cuando algo falla en nuestra aplicación pero por alguna razon (quizas por la naturaleza del recurso que se este usando) la aplicación no nos arroja la excepción sino hasta que tratamos de destruir la aplicacion al cerrarla.

Mi caso era que desde que iniciaba la aplicacion estaba intentando utilizar OpenKey del TRegistry sin todavia haber invocado el contructor (TRegistry.Create) , no me estaba arrojando ninguna excepcion y por eso podia seguir ejecutando la aplicacion como si nada hubiera pasado. Hasta que me tope en otro foro en que cual hablaban que el TRegistry a veces no arroja excepciones cuando realmente si existen errores, pero producen el Error 216 al cerrar la aplicacion, ese dato me abrio los ojos y verifique que era mi caso tambien :D

saludos !


La franja horaria es GMT +2. Ahora son las 22:20:22.

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