FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Es necesario usar FreeLibrary?
Como están todos, espero que bien .
Verán tengo una aplicación que se encarga de cargar plug-in que están en forma de dll, estos plug-in (por diseño), se cargan al inicio y se descargan al final de la aplicación, el punto es que ocasional mente al cerrar la aplicación me tira errores, supongo de que se intenta liberar algo que ya se liberó antes, y digo supongo, porque solo me muestra un dialogo que dice “abnormal termination” y la aplicación se queda abierta (lo digo porque se puede ver en la lista de procesos). Por otro lado me he dado cuenta de que si no uso “FreeLibrary” para liberar los plug-in, la aplicacion se cierra correctamente. Mis dudas son: que pasa con las dll si no uso FreeLibrary? Se quedan cargadas? Crean algún lastre para el sistema? el sistema se encarga de liberarlas cuando mi aplicación termina? |
#2
|
||||
|
||||
Veamos que dice MSDN:
Cita:
Según se colige, al terminar el programa la DLL también desocupa la memoria que usó en relación con el programa. Quedando totalmente descargada de la memoria de Windows si ningún otro programa la está usando. Un abrazo liberado. Al González. |
#3
|
||||
|
||||
Pero con esto pareceríamos decir: ok, ni te preocupes por descargar las bibliotecas pues al cerrar tu programa todo se limpia. Pero queda la cuestión de porqué está fallando pues esta documentación no indica que no deban descargarse manualmente las bibliotecas. En el caso de aplicaciones con aditamentos no sería raro, creo yo, encontrarse con la necesidad de poder descargar bibliotecas previamente cargadas, a discreción del usuario.
// Saludos |
#4
|
|||
|
|||
Ps gracias por despejar mis dudas y paranoias [Al González].
roman, totalmente cierto sobre que tendré que encontrar la raíz del problema, la cuestión es que estos plug-in pueden tener formularios, frames u otros objetos que se ocupan en x tareas, yo intento liberar por mí mismo todo lo que el plug-in ocupa, para que al cerrar la aplicación solo se libere la librería, pero ahí está la cuestión, “ocasionalmente” no libera alguna, no sé si es porque yo libere los recursos antes e intenta volver a liberarlos, o si es por cualquier otra razón, al ser un problema que pasa de vez en cuando y además no da información de ningún tipo, se me dificulta saber él porque, por otro lado, si no importa dejar de usar FreeLibrary, entonces para que invertirle más tiempo? si de todas maneras todas las dll que cargo al inicio no las libero hasta el final (cuestión de diseño). Pd. Muchas gracias por el link, nos vemos. |
#5
|
||||
|
||||
Que alguien quite esos corchetes de mi nombre.
_cero_, no fue nada ponerte ese enlace para ayudarte de algún modo con tu asunto de bibliotecas. Román, Tienes razón en lo que dices. Normalmente no propongo una solución rápida sin antes recomendar ir al fondo del problema. Sucedió que esta vez quise limitarme a la pregunta de _cero_: Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
mysql_close() - ¿Es Necesario? | D-MO | PHP | 3 | 01-02-2006 21:12:12 |
Conectar con mysql necesario bde? | Sayuri | Conexión con bases de datos | 0 | 23-12-2005 15:36:56 |
Es necesario el BDE? | juliopag1 | Conexión con bases de datos | 2 | 15-12-2005 19:22:19 |
FreeLibrary | Ricardo León | API de Windows | 7 | 07-10-2005 12:20:23 |
¿Es necesario el inglés? | roman | Debates | 14 | 04-11-2003 15:19:32 |
|