Fórum Dúvidas do comando Nil #330274

28/09/2006

0

Olá pessoal,

Estou com uma dúvida sobre o comando Nil, já vi este comando usado várias vezes, mas não sei o que ele faz ao certo.

1. O que ele faz quando é usado no Evendo onClose.

FCadastro := Nil;

2. O que poderia ser feito com ele em outro lugar sem ser no onClose.



Obrigado,

Rodrigo.


Rodrigorpb

Rodrigorpb

Responder

Posts

28/09/2006

Rodrigorpb

Este também é um exemplo que peguei da net.

var
   myForm : TMyForm;
begin
   myForm := TMyForm.Create(nil) ;
   try
     myForm.ShowModal;
   finally
     myForm.Free;
   end;
end;


O que ele esta fazendo nesta linha:
myForm := TMyForm.Create(nil) ;


Responder

Gostei + 0

28/09/2006

Massuda

[b:a2bb47d777]Nil[/b:a2bb47d777] é uma constante que representa um ponteiro nulo (zero).


Responder

Gostei + 0

28/09/2006

Rodrigorpb

Poderia detalhar mais?

Obrigado,

Rodrigo.


Responder

Gostei + 0

28/09/2006

Massuda

Poderia detalhar mais?
Talvez eu não tenha entendido qual é sua dúvida, mas Nil indica não inicializado, zero, não existe, etc.

FCadastro := Nil;
FCadastro é não inicializado, zero, não existe, etc.

myForm := TMyForm.Create(nil)
O Owner do myForm é não inicializado, zero, não existe, etc.


Responder

Gostei + 0

29/09/2006

Steve_narancic

O que ele esta fazendo nesta linha: myForm := TMyForm.Create(nil) ;


me corrijam se eu estiver enganado mas pelo que sei o se usarmos nil no create dizemos que o form não tem Aowner (proprietário) sendo assim, somos obrigados a liberar o form da memória quando não estivermos mais utilizando o mesmo, o que está sendo feito atraves de myForm.Free;


Responder

Gostei + 0

29/09/2006

Massuda

...se usarmos nil no create dizemos que o form não tem Aowner (proprietário) sendo assim, somos obrigados a liberar o form da memória quando não estivermos mais utilizando o mesmo...
Isso mesmo. No caso, nil significa ´não tem Owner´, ou seja, ninguém vai se resposabilizar por destruir o objeto.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar