SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: Linspire en Sábado 14 de Mayo de 2005, 23:47

Título: Memoria Ram
Publicado por: Linspire en Sábado 14 de Mayo de 2005, 23:47
Hola, mi problema es que mi programa ocupa casi 11 MB de memoria RAM, y lo que quisiera es que ocupara el mínimo posible, me gustaría que alguien me dijera si hay forma de hacer esto.

Muchas gracias.  :comp:
Título: Re: Memoria Ram
Publicado por: Vatoicc en Domingo 25 de Septiembre de 2005, 21:31
creo que tu problema es por que tu programa tiene muchas ventas, eso me paso una ves, cuando tenia 15 formas diferentes, y el problema es que por default, el exe las crea todas cuando lo inicias.
Si ese es tu problema, escribeme y te paso un ejemplo de como solucionarlo
Título: Re: Memoria Ram
Publicado por: Linspire en Domingo 25 de Septiembre de 2005, 21:36
Efectivamente, ese es el problema, porque es una aplicación de base de datos y tengo muchas formas para manipular la información, te agradecerá que me digas como se soluciona lo del exe y gracias por responder este tema, pensé que nadie lo haría.

Puedes escribirlo aquí o enviarlo a mi correo: unsire@lycos.es (http://mailto:unsire@lycos.es), ya que gmail no acepta adjuntos ejectuables.

Gracias!... :D  :comp:
Título: Re: Memoria Ram
Publicado por: i_berbeu en Martes 27 de Septiembre de 2005, 18:41
me gustaria que me lo mandaras a mi tambien. a ver si puedes a iberbeu@tiscali.es

Gracias!
Título: Re: Memoria Ram
Publicado por: c++builder en Domingo 16 de Abril de 2006, 23:35
holas, a mi tambien si fueras tan amable, mi correo es guillermovalcarcel@yahoo.es saludos  :hola:
Título: Re: Memoria Ram
Publicado por: joacoRamone en Lunes 17 de Abril de 2006, 01:46
Hola, seria mucha molestia que me lo envies a mi tambien?
Mi email es: joaquinorbe@gmail.com

Saludos.
Título: Re: Memoria Ram
Publicado por: Vatoicc en Jueves 20 de Abril de 2006, 00:08
Disculpen por no haber respondido rapido... pero es que no recuerdo haber ingresado a esta discusion :S, esta muy raro...

Lo que pueden hacer es lo siguiente:

1. En el cpp del proyectro Project1.cpp quiten las lines que crean las formas que no son la principal, en este ejemplo Form1 es la principal, y Form2 y Form3 son las formas que no solo se deben crear cuando se necesiten

         try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm1), &Form1);
                 //Application->CreateForm(__classid(TForm2), &Form2);
                 //Application->CreateForm(__classid(TForm3), &Form3);
                 Application->Run();
        }
con esto evitan que la aplicacion las carge en memoria y no las esten utilizando

2.Incluyan el codigo de las otras formas en el codigo principal Unit1.h

#include "Unit1.h"    //este ya estaba
#include "Unit2.h"    //incluyan estos dos
#include "Unit3.h"

3.En las formas 2 y 3, pongan la propidan de visible en false

4.En el evento OnClose de las formar 2 y 3, va esto

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
   Action = caFree;
}
//---------------------------------------------------------------------------
 
asi liberan la memoria que se necesito para habrir la forma

5. Cuando quieran que las formas aparescan pongan la linea que quitaron, por ejemplo en un boton

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   //Crear la forma 2
   Application->CreateForm(__classid(TForm2), &Form2);
   Form2->ShowModal();
}
//---------------------------------------------------------------------------

el metodo ShowModal() habre la forma como un dialogo, es decir, bloquea la forma
principal hasta que cierren la ventana


... y ya es todo.

   y espero que no se vuelvan a meter en mi cuenta, por que repito, no recuerdo haber entrado en esta discucion.

Por si quedo alguna duda adjunto el projecto en zip