Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como cargar los forms solo cuando los necesite? (https://www.clubdelphi.com/foros/showthread.php?t=13518)

TURING 21-08-2004 05:42:52

Como cargar los forms solo cuando los necesite?
 
Hola!
si no me equivoco, a la hora de correr la aplicaciòn se cargan todos los forms, no se si se puede o si es recomendable, pero me gustarìa q no se cargaran todas al mismo tiempo y q cuando se cierren desocupen la memoria(supongo), asì el form principal se carga rapido y solo mantengo en mem. las q se estan ocupando... segun mi teorìa, :p... en fin como pregunto ¿es Recomendable, Se puede hacer, ?.
Por si acaso Estoy trabajando con Bases de Datos.

raul_sal 21-08-2004 07:49:43

Que tal,

Puedes ir al menu Project / Options / Forms y alli puedes decidir que formularios deseas que se autocreen al iniciar la aplicacion luego en el lugar en el que necesites utilizar un form puedes hacer lo siguiente (bueno en realidad esto es para un formulario mdi)

Código:


if form1 = nil then
    Application.CreateForm(Tform1, form1);
form1.Windowstate := wsNormal;
form1.BringToFront;
form1.Show;

ya luego solo te queda colocar en el evento onclose del formulario

Código:


form := nil;
action = cafree;

Suerte

Raptor 21-08-2004 19:39:43

saludos a todos

tambien puedes hacer esto para formulario normales..

pon este codigo desde donde llamas a tu formulario.

try
Form1:=Tform1.create(self); // Te crea el formulario en memoria
form1.ShowModal; // Muestra el formulario
finally
form1.release; //libera el formulario de la memoria cuando termine
end;


Si no quieres escribir mucho solo declara esta funcion para llamarla desde cualquier lugar.

function ShowForm(aForma:TFormClass):boolean;
//*----------------------[Funcion LoadForm]-------------------**
//* Objetivos : Llamar a un formulario **
//* Creada por : Raptor **
//* Fecha Octubre 2003 **
//* Ejemplo ShowForm(TCliente) **
//**************************************************************
var
Self:TComponent;
begin
With aForma.Create(Self) do
try
ShowModal;
finally
Free;
end;
Result :=True;
end;



para llamar a un formulario lo unico que debes hacer es :
ShowForm(Tform1); // llama la forma que tu quiere
y listo


La franja horaria es GMT +2. Ahora son las 12:26:57.

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