Ver Mensaje Individual
  #4  
Antiguo 09-10-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por Casimiro Notevi Ver Mensaje
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.
Responder Con Cita