Dúvidas do comando Nil
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.
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
Curtidas 0
Respostas
Rodrigorpb
28/09/2006
Este também é um exemplo que peguei da net.
O que ele esta fazendo nesta linha:
myForm := TMyForm.Create(nil) ;
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) ;
GOSTEI 0
Massuda
28/09/2006
[b:a2bb47d777]Nil[/b:a2bb47d777] é uma constante que representa um ponteiro nulo (zero).
GOSTEI 0
Rodrigorpb
28/09/2006
Poderia detalhar mais?
Obrigado,
Rodrigo.
Obrigado,
Rodrigo.
GOSTEI 0
Massuda
28/09/2006
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.GOSTEI 0
Steve_narancic
28/09/2006
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;
GOSTEI 0
Massuda
28/09/2006
...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.GOSTEI 0