Fórum Dúvida sobre descarregar form da memória... Cafree ou Nil? #186463
06/10/2003
0
Vejam se podem me ajudar...
Estou criando os form´s do meu sistema em tempo de execução, e descarregando da memória da seguinte forma:
Para criar eu utilizo:
frmEscritorios := TfrmEscritorios.create(Self);
Para descarregar da memória utilizo no onclose do form:
Action := caFree;
Eu vi um projeto onde para descarregar o form da memória, além de utilizar Action := CAfree, o programador também colocava Form1 := Nil.
Então ficava assim:
Action := caFree;
Form1 := Nil;
Esse comando Nil, tem a mesma função do CaFree?
Devo utilizar os dois juntos para realmente descarregar o form da memória?
Será queda forma como estou fazendo, utilizando somente o CaFree, o form ainda continua carregado na memória?
Um grande abraço a todos...
Pablo - Marília/SP
Um grande abraço a todos
Pablo_lima
Curtir tópico
+ 0Posts
06/10/2003
Cebikyn
Gostei + 0
06/10/2003
Beppe
Form1.Free; ... // código que não usa Form1 ... if Assigned(Form1) then Form1.Show;
Quando Form1.Free executa, ele libera a memória usada por ele mas deixa um dangling pointer(variável referênciando memória já dealocada).
Então é aconselhável atribuir nil após um Free, ou alternativamente, apenas chamar FreeAndNil(objeto).
O caFree é usado no lugar de Free somente dentro de OnClose.
Ataliba.
Gostei + 0
06/10/2003
Rfpsatin
C vc estiver usando uma versão do delphi 5 ou 6 pode usar da seguinte forma.
try
Form1:=Tform1.create(self);
Form1....
finally
FreeAndNil(Form1);
end;
Este método, FreeAndNil, faz exatamente o q o nome sujere, é um dos + indicados (Marco Cantù).
Gostei + 0
05/06/2010
Lucas Tertuliano
Application.Terminate; // Fecha sua aplicação
Gostei + 0
05/06/2010
Marco Salles
# Ação Autor ação Data 186463 Chamado iniciado Pablo_Lima 10/6/2003 186464 Chamado resp. pelo usuario
cebikyn 10/6/2003 186465 Chamado resp. pelo usuario
Beppe 10/6/2003 186466 Chamado resp. pelo usuario
rfpsatin 10/6/2003 378929 Chamado resp. pelo usuario
Lucas Tertuliano 6/5/2010 6:07:32 PM 378932 Chamado resp. pelo usuario
MARCO ANTONIO SALLES 6/5/2010 6:46:18 PM
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)