PDA

Ver la Versión Completa : Win32 error Code 14 en Delphi


jmbarrio
17-10-2008, 09:13:37
Hola a tod@s, tengo una aplicación en delphi que cuando lleva unos cuantos días funcionando ininterrumpidamente me acaba dando un win32 error Code 14 Espacio almacenamiento insuficiente para esta operación. El problema lo resuelvo tirando abajo la aplicación y volviendola a arrancar. Alguien por favor podría decirme algo para solucionarlo.

Un saludo y gracias por vuestro tiempo.

Lepe
17-10-2008, 09:59:58
¿has buscado en google?

description name
14 Not enough storage ERROR_OUTOFMEMORY
is available to complete
this operation.

Algo haces que consume toda la memoria ¿puede ser? ¿creas objetos en memoria y liberas?

Saludos

jmbarrio
17-10-2008, 10:05:14
Hola Lepe, si que he buscado en google y sabia lo de la memoria. Gracias por tu rápida respuesta.
Cada cierto tiempo escribo en un fichero de texto, lo abro y lo cierro. Tambien hago consultas constantemente a una base de datos.
No se me ocurre en que puedo consumir la memoria pues en ese pc solo corre esa aplicacion.

Lepe
17-10-2008, 12:23:32
¿qué tal anda de virus, troyanos y esas cosas? podría ser que alguno agotara la memoria y al querer abrir una consulta te dé a tí ese error.

La verdad, con la poca información que das poco te podemos ayudar. Ten en cuenta que este tipo de preguntas son las que quedan sin respuesta en el foro por falta de información. Ni sabemos de qué va tu programa y menos aún el entorno en el que está. Aquí algunos tips:

¿Creas dinámicamente las consultas o algún objeto? (tipo form2 := tform2.create(application), y cosas así?) ¿cómo de grande es el programa? ¿cuantas ventanas usas? ¿es un tipo de programa en segundo plano?

¿Qué sistema operativo usas? ¿parches o service packs? ¿está conectado a internet? ¿qué bases de datos usas?

En el foro puedes buscar por LiberaMemoriaNt que se podría ejecutar cada cierto tiempo, pero a mí, personalmente y en un entorno de producción me dió más problemas que eficiencias, puede que a tí te sirva.

Saludos

jmbarrio
23-10-2008, 14:40:28
Gracias lepe, virus no es, trabaja con w2000 y sin internet. La aplicacion lo que hace es abrir muchas veces un formulario y cerrarlo para generar una incidencia. Por norma general solo carga una ventana principal, para generar una incidencia abro un formulario distinto del principal. Para abrirlo uso
Application.CreateForm(TF_Pantalla_Incidencia_Manual,F_Pantalla_Incidencia_Manual);
F_Pantalla_Incidencia_Manual.showmodal;
y para cerrarlo
F_Pantalla_Incidencia_Manual.close;.

A ver si con esto me puedes ayudar.

Un saludo, José Miguel

seoane
23-10-2008, 14:47:56
:confused: Y donde destruyes el formulario, porque close lo cierra no lo destuye. Para eso esta Free

Lepe
23-10-2008, 14:51:51
y ¿en el evento OnClose de esa ventana tienes algo?

como mínimo deberías tener action := cafree; de lo contrario jamás estás liberando de RAM esa ventana, delphi por defecto la oculta.

Saludos

jmbarrio
23-10-2008, 15:55:05
Gracias a todos, pensaba que al cerrar con close el form ya se liberaba de memoria.

Un saludo, José Miguel