Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Uso de la Memoria

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Uso de la Memoria Responder citando

Hola, espero que alguien me pueda ayudar.

Tengo una aplicacion donde manejo muchas pantallas, pero cada vez que abro una la cantidad de memoria que consume la aplicacion va aumentando,

Todas las ventanas son creadas en forma dinamica con New y delete respetivamente.

y uso una variables globales,

segun yo todo es cerrado bien, pero mi pregunta como puedo saber donde esta la fuga de memoria, o como puedo liberar memoria.

De dantemano muchas gracias, por la informacion
Volver arriba
Mensaje    Asunto: Responder citando

HOLA:

Hace tiempo vi un articulo, creo que era de marteens, que desaconsejaba el uso de delete, debido a fugas de memoria,
te aconsejo lo siguiente

TForm1 *a = new TForm1 (this);
a ->ShowModal();
a ->Free();

Otra cosa, he observado que algunos componentes, sobretodo el treeview, y otros que usan objectcount, no se destruyen completamente, en algunos casos hay que destruirlos a pelo, y en otros casos es preferible no utilizarlos.

Una cosa curiosa, ¿ cuantas veces a la semana tienes que reactiva el desktop, por que el explorer ha producido una operacion no valida ?.

By.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: mi solucion Responder citando

Pues yo utilizo Close() y me va bien

otra cosa, te va a fallar si pones

nombre_componente->Close();

tienes que ponerlo

this->Close();
Volver arriba
Mensaje    Asunto: Responder citando

Vaya que hay muchas formas de hacerlo!!!, pero la verdad quien sabe cual sea la mejor..pero de todas formas ahi te va la mia.

Lo que yo hago es incluir el siguiente código en el evento OnClose de la forma.

Código:

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
     Action = caFree;
}


Según la ayuda, esta instrucción destruye la forma liberando la memoria ocupada.

Suerte.

Raúl
Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.