Problema Muitos Forms

Delphi

13/08/2003

Em meu sistema existem vários formularios e alguns deles não serao usados com frequencia, devido a quantidade de formularios meu sistema está demorando muito para abrir como faço para que nao demore tanto?

Valeu galera


Denysk

Denysk

Curtidas 0

Respostas

Okama

Okama

13/08/2003

Crie os Forms em run-time o processo é o mesmo quando se trabalha com MDI.

Clique em <Projeto> View Source e remova a linha do formuário que deseja criar e copie no evento que chamará o form

Application.CreateForm(TFormPrincipal, FormPrincipal);
FormPrincipal.Show;


No evento Onclose coloque:

Action := CaFree



GOSTEI 0
Daaneto

Daaneto

13/08/2003

Acho que uma solução mais interessante seria:

Ir no menu Project --> Options

Na aba Forms, você deverá deixar apenas os formularios mais importantes para ser abertos de forma automatica (Auto-Create Forms), ou seja, Form Principal, Login, Splash, Data Module

Ou outros devem ser colocados como ´Avaliable Forms´

Deverão ser criados automaticamente (Auto-Create Forms)
o mínimo possível de formularios para ter uma boa velocidade de inicialização do aplicativo.


GOSTEI 0
Marconi

Marconi

13/08/2003

O que esta escrito acima é valido

Abaixo um exemplo meu.
No caso eu vou acessar uma parte do programa onde precisarei de 3 forms.

Application.CreateForm(TForm1, Form1); {criei o primeiro}
Application.CreateForm(TFrmCadProd, FrmCadProd); {criei o segundo}
Application.CreateForm(TfrmProdutos, frmProdutos); {criei o terceiro}
Form1.ShowModal; {abri o primeiro, que vai utilizar os demais}
FrmCadProd.Free; {quando este fechar eu apago os tres da memória}
frmProdutos.Free;
frmGeral.Free; {este foi criado pelo Form1}
Form1.Free;

Eles estão como Avaliable forms em menu Project --> Options

Se voce deixar em autocreate, o programa vai ficar muito lerdo e utilizando memória sem necessidade.

Um abraço

Marconi


GOSTEI 0
Henry

Henry

13/08/2003

Borther, eu usaria um tabsheet e deixaria os form nao muito utilizados neste tab.


GOSTEI 0
POSTAR