Enxugar o programa!
Olá pessoal!
Estou terminando um sistema que será rodado em um computador lento como um Pentium 133. E preciso enxugar ao máximo meu fonte para que tenha uma melhor performance. Estou aceitando todo tipo de dica. Por exemplo as query´s que não estou utilizando no momento, somente desativo (Query.Active:= False) ou fecho (Query.Close)?
E os forms que não estou utilizando como faço? E quando for usar estes forms, sei que tenho que testa-los e abri-los, mas qual o melhor jeito.
Espero todo o tipo de ajuda.
Obrigado e até mais.
Estou terminando um sistema que será rodado em um computador lento como um Pentium 133. E preciso enxugar ao máximo meu fonte para que tenha uma melhor performance. Estou aceitando todo tipo de dica. Por exemplo as query´s que não estou utilizando no momento, somente desativo (Query.Active:= False) ou fecho (Query.Close)?
E os forms que não estou utilizando como faço? E quando for usar estes forms, sei que tenho que testa-los e abri-los, mas qual o melhor jeito.
Espero todo o tipo de ajuda.
Obrigado e até mais.
Lira
Curtidas 0
Respostas
Luiseugenio
15/02/2003
Vamos por partes Lira:
quer1.close, é a mesma coisa que quer1.active:=false . Ok?
Então
quando vc não estiver usando query e table, vc pode deixar eles fechados,
(.close ou active:=false)
Em relação aos formulários, faça o seguinte
Em project/options, deixe apenas o formulário inicial em auto-create.
Na hora de chamar algum outro formulário, use o comando
application.CreateForm(tform1,form1);
form1.showmodal;
ao fechar o formulário, faça o seguinte:
form1.free;
Assim vc libera ele da memória.
:))
quer1.close, é a mesma coisa que quer1.active:=false . Ok?
Então
quando vc não estiver usando query e table, vc pode deixar eles fechados,
(.close ou active:=false)
Em relação aos formulários, faça o seguinte
Em project/options, deixe apenas o formulário inicial em auto-create.
Na hora de chamar algum outro formulário, use o comando
application.CreateForm(tform1,form1);
form1.showmodal;
ao fechar o formulário, faça o seguinte:
form1.free;
Assim vc libera ele da memória.
:))
GOSTEI 0
Lira
15/02/2003
Olá Luis! Muito Obrigado pela ajuda.
Só que estou com um problema com o Free, ao ser executado ocorre um Access Violation. Qual será meu erro?
Até mais.
Só que estou com um problema com o Free, ao ser executado ocorre um Access Violation. Qual será meu erro?
Até mais.
GOSTEI 0
Luiseugenio
15/02/2003
Vc está usando algum data module?
se estiver o procedimento é o mesmo que o formulário
application.creatform(tdatamodule,tdatamodule1);
:)
Qualquer coisa mande duvida para meu email
luis-cairo@bol.com.br
se estiver o procedimento é o mesmo que o formulário
application.creatform(tdatamodule,tdatamodule1);
:)
Qualquer coisa mande duvida para meu email
luis-cairo@bol.com.br
GOSTEI 0
Lira
15/02/2003
O DataModule estou deixando inicializar junto com o programa principal, para já carregar os Querys no início.
Meu problema está no Free, por exemplo em um cadastro de Alunos, quando vou chamar este form coloco:
[color=red:c05b8efa79]Application. CreateForm (TFrmAlu, FrmAlu);
FrmAlu.ShowModal;[/color:c05b8efa79]
E ao sair deste Form coloco:
[color=red:c05b8efa79]FrmAlu.Free;[/color:c05b8efa79]
Aí quando saio do form é que surge o problema.
Até mais.
Meu problema está no Free, por exemplo em um cadastro de Alunos, quando vou chamar este form coloco:
[color=red:c05b8efa79]Application. CreateForm (TFrmAlu, FrmAlu);
FrmAlu.ShowModal;[/color:c05b8efa79]
E ao sair deste Form coloco:
[color=red:c05b8efa79]FrmAlu.Free;[/color:c05b8efa79]
Aí quando saio do form é que surge o problema.
Até mais.
GOSTEI 0
L!nk!n
15/02/2003
E se vc fizer:
form1.FreeOnRelease;
form1.FreeOnRelease;
GOSTEI 0