Enxugar o programa!

Delphi

15/02/2003

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.


Lira

Lira

Curtidas 0

Respostas

Luiseugenio

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.

:))


GOSTEI 0
Lira

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.


GOSTEI 0
Luiseugenio

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


GOSTEI 0
Lira

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.


GOSTEI 0
L!nk!n

L!nk!n

15/02/2003

E se vc fizer:
form1.FreeOnRelease;


GOSTEI 0
POSTAR