FoxPro/Visual FoxPro - Empaquetar Memoria?

 
Vista:

Empaquetar Memoria?

Publicado por Sergio (89 intervenciones) el 03/02/2005 09:58:38
Hola compañeros, tengo un pequeño gran problema. El ejecutable de mi aplicacion en vfp7 ocupaba casi 8 mb, incluia los formularios, los informes, los iconos, en fin, todo.

Cada vez q lo ejecutaba y estaba un rato con él, me salia "No hay suficiente memoria para completar esta operacion" y ya no podia trabajar ni siquiera con el ordenador, me dejaba sin recursos.

Ahora, despues de haberle quitado en el proyecto todo menos los prg, ocupa 2,25 mb y aun a mi pesar, me sigue diciendo lo mismo.

Sé que en el blinker hay una especie de empaquetador de memoria que te deja la memoria "limpia" y puedes seguir trabajando. En vfp7 he hecho de todo para liberar memoria pero sin resultados.

Creo q la razón de q se quede sin memoria es q uso ficheros y formularios constantemente y q continuamente se abren y se cierran pero a parte tambien tengo muchos procedimientos que se usan en los prg's.

Con todo esto dicho, ¿hay algo que pueda hacer para que me libere memoria? ¿Cómo se ha de cerrar un formulario para que no deje nada en memoria sin perder las variables generales?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Empaquetar Memoria?

Publicado por Roman Suazo (2723 intervenciones) el 03/02/2005 15:42:24
Primero que todo instala el ultimo SP que corresponda a tu version de VFP, ya que estos solucionan algunas veces estos tipos de problemas.
EL otro problema que puede ser que tengas es que estes creando objetos que no lo estes liberando adecuadamente y te esten consumiendo memoria cada vez que ejecutes tu app...la otra posibilidad es que estes usando cursores o arreglos constantemente y que no los estes cerrando en el momento adecuado o que estes usando DLLS que no las estes liberando tambien...Puedes reducir el uso de memoria con SYS(1104)b y SYS(3050) (revisar la ayuda para su funcionamiento).
Despues de liberar mucha memoria puedes probar con algo como esto:
_Screen.Visible = _Screen.Visible

Lo mas seguro es que tengas algunos errores de codigo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar