Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-05-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
Sin Recursos del sistema

Hola a todos,

pues os planteo mi problema, en algunos equipos y no siempre, me aparece el error de "sin recursos de sistema", y ocurre después de llamar a una Dll varias veces seguidas.

Dentro de esta dll creo formularios y los libero con "Free", hay funciones recursivas y una gran relación de tablas con DataSetProvider y clientDataSets.

El error no aparece siempre, de hecho en mi equipo nunca. Pero un cliente dice que al entrar unas cinco veces le acaba apareciendo el error. Yo lo he podido reproducir en un equipo con poca RAM y me aparece, alguna vez, no siempre, a las once veces que la ejecuto.

Cuando acaba la ejecución de la Dll, aparece una ventana informando del nº de documento que se ha generado, y después se sale de la Dll. Pero cuando ocurre el error, sale igualmente el mensaje del documento y por detrás el error de "sin recursos de sistema", si el cliente no lo ve, se piensa que la aplicación esta colgada, si se ve el mensaje, se pulsa aceptar y después deja pulsar en mi ventana del mensaje del nº de documento, pudiendo salir normalmente y volver al menú principal.

La dll la cargo en el momento de usarla y la libero al salir, para ahorrar memoria.

¿ Alguien se ha encontrado con un problema similar ? ¿ Que puedo hacer para ahorrar recursos ? ¿ Tengo alguna forma de asegurar que cuando se sale de la Dll se libere todo ?

Un saludo
Responder Con Cita
  #2  
Antiguo 03-05-2010
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Pregunta: ¿Tienes los fuentes de la DLL?

- Si es así, deberías ver si para hacer lo que necesita está seleccionando de una tabla todos los registro o solo algunos.
- También deberías asegurarte de cerrar todos los DataSet antes de salir.
- Si tiene funciones recursivas, deberías ver si crean cosas que luego no liberen.

También podrías poner en pruebas un pequeño Label que te dijera cuanta memoria tienes y que actualicez cada 5 segundos (o 1 seg. o 10 seg. o lo que sea)

Luego has la prueba de abrir y cerrar la DLL sin hacer nada varias veces y mira como evoluciona la memoria.

Finalmente mira como evoluciona la memoria si ejecutas el código de la dll varias veces seguidas.
Responder Con Cita
  #3  
Antiguo 04-05-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
hola,

gracias por tus sujerencias, en ello estaba, plantee la cuestión por si alguien habia encontrado algún otro problema que pudiera causar quedarse sin recursos. Si encuentro el problema lo publicare.

Un saludo
Responder Con Cita
  #4  
Antiguo 04-05-2010
JosepGA JosepGA is offline
Miembro
 
Registrado: jun 2007
Ubicación: Tarragona
Posts: 166
Poder: 17
JosepGA Va por buen camino
hola,

pues después de verificar que al salir de la dll baja la memoria virtual (he usado el componente de las JEDI para obtener los valores de memoria), he controlado que todas las tablas se cierran, que las listas se liberan, etc... Aun así sigue bajando. Después he puesto dentro de la dll que no se ejecute nada, y aunque solo entra y sale de la dll, tambien me consume un poco de memoria virtual (menos que antes pero sigue bajando).

Cuando vuelves a entrar una segunda vez en la dll, la memoria inicial de la segunda prueba es la memoria final de la primera prueba.

Asi que ahora estoy mirando si hay algun problema en liberar de memoria una Dll, yo lo hago con FreeLibrary pero no se si es o no correcto (hasta ahora creia que sí).

Un saludo
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
archivos de recursos carlosf82 Varios 1 15-07-2008 09:13:52
Porque un Sistema en Ms-Dos Consume más Recursos???? AGAG4 Varios 10 16-12-2007 05:45:43
Recursos del sistema insuficientes sertebal Windows 1 16-09-2005 10:00:51
Archivo de recursos Esau Varios 3 04-11-2004 10:13:44
Recursos en español Alejo Varios 0 04-07-2003 00:56:56


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


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
Copyright 1996-2007 Club Delphi