Utilização do comando Action:= caFree

Delphi

22/10/2004

Bom dia !

Por favor, alguém poderia explicar o funcionamento na pratica dos comandas abaixo:

frm2.Release;
frm2:=Nil;
Action:= caFree;

Obrigado.

Luger


Luger

Luger

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

22/10/2004

frm2:=Nil; // Isto é para liberar o frm2 da memória
Action:= caFree; // este caFree é usando quando você vai fechar formulários MDIChild


GOSTEI 0
Vinicius2k

Vinicius2k

22/10/2004

Colega,

[b:c5776fc16c]Form.Release;[/b:c5776fc16c] -> Libera o form da memória aguardando que todas as mensagens pendentes sejam postadas ao S.O. Em geral, desnecessária , a não ser em casos ´especiais´.

[b:c5776fc16c]Form.Free;[/b:c5776fc16c] -> Libera o form da memória.

[b:c5776fc16c]Action:= caFree;[/b:c5776fc16c] -> o mesmo que Form.Free, porém realizado dentro do evento OnClose do próprio Form.

[b:c5776fc16c]Form:= nil;[/b:c5776fc16c] -> nula o ponteiro de memória associado à variável do Form. Deve ser usado em conjunto com qualquer uma das opções acima.

[b:c5776fc16c]FreeAndNil(Form);[/b:c5776fc16c] -> Esta função libera o Form da memória e nula o ponteiro associado à ele. Agrega as operações de Form.Free e Form:= nil.

Algumas sequências para criação e destruição de Forms em Runtime são :
MeuForm:= TMeuForm.Create(Application);
MeuForm.ShowModal;
MeuForm.Free;
MeuForm:= Nil;


MeuForm:= TMeuForm.Create(Application);
MeuForm.ShowModal;
FreeAndNil(MeuForm);


MeuForm:= TMeuForm.Create(Application);
MeuForm.Show;
{ No OnClose de MeuForm : }
  Action:= caFree;
  MeuForm:= nil;


T+


GOSTEI 0
POSTAR