Fórum Iniciar o programa na memória #228446
28/04/2004
0
Tchelllo
Curtir tópico
+ 0Posts
28/04/2004
Dopi
O que é comum e recomendado para grandes sistemas, é tirar da Auto-criação de formulários todos os Formulários que não forem necessários no momento da abertura.
Ex. Entre em Projects, Options e deixe como Auto-Create somente o FormPrincipal e os DataMódules.
Os demais voce cria e destroi em tempo de execução.
Form2 := TForm2.Create(self) ; // -> self é o FormPrincipal
Form2.Show ;
Configure o Form2.OnClose com caFree. Para que o formulário seja destruido assim que fechado...
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action := caFree ;
end;
Se usar ShowModal...
Form2 := TForm2.Create(self)
try
Form2.ShowModal ;
finally
Form2.Free ;
end ;
nesse caso voce nao precisará do caFree...
Gostei + 0
28/04/2004
Tchelllo
Gostei + 0
28/04/2004
Dopi
Você usa ClientDataSet / DataSetProvider / SQLDataSet ? Lembre-se que ele sempre carregará todo o resultado da query na memória do ClinteDataSet...
Deixe tudo desativado. Inclusive o SQLConnection. Caso contrário, se o banco de dados estiver fora do ar o usuário verá um erro antes da tela da Aplicação aparecer...
Eu costumo fazer assim.... Tenho 2 datamodules 1 com o SQLConnection e com os SQLDataSets (rdm)
outro somente com os Providers e ClientDataSets. (ldm)
Se o Form for abrir ShowModal, uso os ClientDataSets diretamente do (ldm)
Se o Form for abrir SHOW. Crio uma copia na memória do (ldm) e uso os componentes dessa copia na memoria. Isso garante que os ponteiros desses ClientDataSets não serao mexidos por outro Form tambem aberto com SHOW.
Gostei + 0
28/04/2004
Tchelllo
Valeu por me tirar essa dúvida...qualquer coisa...
Abraços
Marcelo
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)