Cita:
Empezado por Casimiro Notevi
Corríjeme si me equivoco, Al, pero lo que comentas puede ser suplido con FreeAndNil, no?
Código:
FPuestos:=TfrmPuestos.Create(self);
try
FPuestos.ShowModal;
finally
FreeAndNil( FPuestos )
end;
|
El FreeAndNil que has puesto no pone en blanco la variable dm, solamente la variable FPuestos (un componente no tiene manera de conocer a qué variables se han asignado sus componentes adueñados). El FreeAndNil no está demás con FPuestos, pero si lo hicieras también con dm (en lugar de simplemente asignarle Nil a esa variable en, digamos, el evento OnDestroy de TfrmPuestos), sería un tanto innecesario, puesto que la vida de dm ya está ligada a la vida del formulario FPuestos (y es como se quiere).
En concreto, FreeAndNil es para liberar la instancia a la que apunta una variable y poner esa variable en blanco, y, dado este caso, la variable dm ya tendrá lo primero, pero no lo segundo (lo cual se puede hacer con un simple
dm := Nil en el evento apropiado).
Saludos.
Al González.