Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-07-2010
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Poder: 21
GerTorresM Va por buen camino
Cool Liberar y destruir realmente un formulario

Hola a Tod@s

La situación que tengo en el día de hoy es siguiente

estoy probando con una aplicación en Delphi 6 Entreprise con dos formularios, a los dos les he puesto una imagen para que pueda ver realmente la memoria que utiliza al cargar cada uno de ellos.

a partir de un botón desde el primer formulario creo mediante código una instancia de del segundo.

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
Var Form_temporal : TForm2;
begin
 Form_temporal:= TForm2.Create(self);
 try
   Form_temporal.ShowModal;
 Finally
   Form_temporal.Free;
 End;
end;

En el segundo formulario tengo lo siguiente :

Una imagen, un TDatabase, una TTable, TDataSource y un DBGrid, que van a trabajar con una base de datos MSAccess mediante BDE.

bien para ver como esta funcionando las cosas el primer formulario cuando carga ocupa algo así como 23.000 Kb, algo normal si tengo en cuenta que posee una imagen algo pesada; al cargar el segundo formulario se ocupa en total algo así como 44.000 kb, pero si cargo los datos la memoria se sube a 47.500kb.

Cuando se cierra el segundo formulario, las cosas con la memoria pueden variar es decir si no utilice un boton que me carga los datos de la tabla el uso de la memoria me queda nuevamente en en los 23.000 kb que pesa el formulario inicial, pero si utilice los datos de tabla y descargue el formulario la memoria queda en 26.500 Kb.

En ese orden de ideas mi pregunta es ¿Se esta quedando abierta en memoria la conexión? , ¿Por que se queda ocupada más memoria si en teoría se destruyo el objeto?.

bien pensé que algo sucedía el intente hacer lo referente a los datos de la siguiente forma:

Código Delphi [-]
procedure TForm2.FormDestroy(Sender: TObject);
begin
  DBGrid1.Free;
  DataSource1.Free;
  Table1.Close;
  Table1.Free;
  Database1.Connected:= False;
  Database1.Close;
  Database1.Free;
end;

pero las cosas siguen igual, ¿Como puede realmente cerrar el formulario sin perder o dejar por ahí parte del espacio utilizado en memoria por el formulario?

Mil gracias de antemano


gertorresm
Colombia
Responder Con Cita
 



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
Destruir objetos david.rguez Varios 28 03-03-2007 03:31:59
destruir Aplicacion jubers85 Varios 2 10-02-2006 09:27:40
Como destruir o liberar una forma maguib Varios 1 11-03-2005 19:39:02
Destruir un TIBQuery furniman Varios 1 25-03-2004 12:20:14
No puedo destruir ventana Marina Varios 2 02-12-2003 13:43:58


La franja horaria es GMT +2. Ahora son las 13:04:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi