Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-09-2008
Avatar de Lucciano
Lucciano Lucciano is offline
Miembro
 
Registrado: abr 2006
Posts: 33
Poder: 0
Lucciano Va por buen camino
Thumbs up Pregunta sobre los create.

Hola como andan, necesito aclarar ciertos conceptos y quizas uds, me puedan ayudar. Cual es la gran diferencia al momento de crear un objeto, como por ejemplo un TSQLQuery, y ponerle en el create, nil, self, application.

Es decir.
var
Consulta: TSQLQuery;
Begin
.
.
Consulta:=TSQLQuery.Create(nil) o
Consulta:=TSQLQuery.Create(self) o
Consulta:=TSQLQuery.Create(application)
.
end;


Gracias,
__________________
No todo es la maravilla de japon!.
Responder Con Cita
  #2  
Antiguo 18-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, el parametro q se le pasa al create es su 'parent', esto es, el objeto al que esta enlazado. Sirve para algunas cosas como por ejemplo, al destruir el parent, destruir el objeto en si (si no ha pasado ya), al pintar el parent, pintar tambien todos sus 'child', en ese caso tambien el objeto en si. te recomiendo que leas la ayuda de delphi al respecto. un saludo.
Responder Con Cita
  #3  
Antiguo 18-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
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
  #4  
Antiguo 18-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
ahora tengo yo una duda. ¿El owner y el parent son lo mismo?
Responder Con Cita
  #5  
Antiguo 18-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Hola...

Cita:
Empezado por coso Ver Mensaje
Hola, el parametro q se le pasa al create es su 'parent', esto es, el objeto al que esta enlazado. Sirve para algunas cosas como por ejemplo, al destruir el parent, destruir el objeto en si (si no ha pasado ya), al pintar el parent, pintar tambien todos sus 'child', en ese caso tambien el objeto en si. te recomiendo que leas la ayuda de delphi al respecto. un saludo.
Eh... nop... El Parent y el Owner de un componente no tienen que ser necesariamente el mismo. El Parent es el que le indica donde se va a situar un componente (un panel, una forma, etc...)



Saludos...
Responder Con Cita
  #6  
Antiguo 18-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Cita:
Empezado por coso Ver Mensaje
ahora tengo yo una duda. ¿El owner y el parent son lo mismo?
Lee mi mensaje anterior...
Responder Con Cita
  #7  
Antiguo 18-09-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
pues convencido, suerte que no los uso mucho directamente.
Responder Con Cita
  #8  
Antiguo 20-09-2008
Avatar de Lucciano
Lucciano Lucciano is offline
Miembro
 
Registrado: abr 2006
Posts: 33
Poder: 0
Lucciano Va por buen camino
Thumbs up Entendido.

Hola amigos, muchas gracias a todos especialmente a ti maeyanes por ser tan claro y sensillo.

Saludos!

PD: Ahora si me quedo claro!.
__________________
No todo es la maravilla de japon!.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pregunta ? Create !! pmtzg Varios 1 31-01-2008 17:23:22
consulta sobre create database dape Firebird e Interbase 2 22-09-2005 05:40:55
Pregunta sobre BDE JorgeBec Conexión con bases de datos 1 18-03-2005 15:53:02
Pregunta sobre .net VolaRe .NET 10 14-04-2004 22:09:50
pregunta sobre Ms Sql ssaavedra MS SQL Server 1 09-01-2004 15:35:51


La franja horaria es GMT +2. Ahora son las 03:26:05.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi