Problema Muitos Forms
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
Valeu galera
Denysk
Curtidas 0
Respostas
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
No evento Onclose coloque:
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
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.
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
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
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
13/08/2003
Borther, eu usaria um tabsheet e deixaria os form nao muito utilizados neste tab.
GOSTEI 0