Ver Mensaje Individual
  #3  
Antiguo 12-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Haciendo un resumen:
Quién tiene la responsabilidad de liberar un componente es su propietario. (Owner). La propiedad Owner es añadida en la clase TComponent, se asigna en la creación mediante el método Create, es inalterable y dura toda la existencia del componente creado.
Código Delphi [-]
  Button:= TButton.Create(Application); // propietario: Application
  Button:= TButton.Create(Panel1) // propietario: Panel1
  Button:= TButton.Create(nil); // sin propietario, liberarlo es responsabilidad nuestra
Entonces respondiendo a tu pregunta: Cuando un componente A es liberado, es el responsable de liberar a todos aquellos componentes cuyo Owner es A y lo hace mediante el método Destructor.

Las propiedades Components y ComponentCount del propietario, mantienen una lista de los componentes y el número de ellos respectivamente.

Saludos.

Edito: Upss, estaba tan concentrado en que saliera bién la redacción que no vi tu mensaje amigo . Disculpas.
(es que he visto a Al rondando por aqui y no quiero un tirón de orejas... )
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 12-11-2011 a las 01:19:15.
Responder Con Cita