Ver Mensaje Individual
  #7  
Antiguo 10-10-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Reputación: 27
delphi.com.ar Va por buen camino
Cuando creas un objeto persistente, asignándole un Owner, por ejemplo:
Código:
procedure TForm1.CrearControles;
begin
  {Es dueño será la instancia de TForm1}
  with TButton.Create(Self) do 
  begin
    Parent := Self;
    Caption := 'Mi Botón';
    ...
  end;
end;
Cuando se destruya la instancia de TForm1, se destruirá el Botón, no al terminar el evento, cuando se haga destruya el owner!
Con respecto a usar nil, si puedes hacerlo, entonces nadie se encargará de eliminar tu objeto, por eso solo es recomendable si haces un Try..Finally inmediato. De todos modos, no es una práctica habitual en mi utilizar nil, suelo utilizar Application como Owner cuando un objeto persistente no pertenece en la lógica a nadie, para la práctica es casi lo mismo, porque cuando se destruye Application es cuando el proceso ha terminado y por lo tanto se liberará toda la memoria de este (Ha no ser que hagamos cosas raras).

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita