Ver Mensaje Individual
  #4  
Antiguo 18-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 26
maeyanes Va por buen camino
Hola...

Lo que haces al pasarle un parámetro al momento de crear un componente, es indicarle quien va a ser su "dueño", esto es, quien se va a encargar de destruir al objeto en cuestion.

Código Delphi [-]
Consulta:=TSQLQuery.Create(nil)

Aquí no le estás pasando ningún Owner al objeto nuevo y por consiguiente tienes que destruirlo desde código (Consulta.Free) cuando ya no lo necesites.

Código Delphi [-]
Consulta:=TSQLQuery.Create(self)

Aquí el Owner del objeto es el objeto desde donde lo creas. Esto es, si tu código está dentro de un método de una forma, por ejemplo, el Owner de Consulta será esta misma:

Código Delphi [-]
contructor TForm1.CreateForm(Sender: TObject);
begin
  Consulta := TSQLQuery.Create(Self) // El Owner es la misma forma
end;

y para finalizar

Código Delphi [-]
Consulta:=TSQLQuery.Create(application)

Aquí estás indicando que el Owner del objeto es la misma aplicación y hasta que esta termine de ejecutarse, el objeto no se destruirá...


Espero que mi pequeña explicación te ayude a entender mejor el concepto de Owner de un componente.



Saludos...
Responder Con Cita