Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
Diferencia entre nil y self en el método create

cual es la diferencia entre

Código Delphi [-]
Tform1.create(nil);
y
Tform1.create(Self);

si alguien (Roman) pudiera detallar en forma clara sus usos ventajas y desventajas se los agradecere
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #2  
Antiguo 06-04-2011
[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...

Ya para la cantidad de mensajes que tienes, deberías saber que los títulos de los hilos o temas nuevos deben estar bien formulados...

El título que usaste: Hilo nuevo.. pregunta no me dice nada...

Te recomiendo que le des otra leida a la guía de estilo de los foros (enlace en mi firma).

Sobre lo que preguntas, has una búsqueda en los foros, ese tema ya se ha tratado en alguna otra ocasión...



Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #3  
Antiguo 06-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
lo se lo se...
solo que me deje llevar por la emocion del free, el nil y el freeandnil, voy a reformular la pregunta
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 06-04-2011
Avatar de D-MO
D-MO D-MO is offline
Miembro
 
Registrado: ago 2005
Ubicación: root@debian:/#
Posts: 1.042
Poder: 20
D-MO Va por buen camino
He editado el título del hilo por uno mas apropiado.

Saludos.
Responder Con Cita
  #5  
Antiguo 06-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
se agradece por el cambio en el Titulo..... yo no tengo esa posibilidad.....
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #6  
Antiguo 06-04-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Básicamente:
* lo que tú creas... tú lo destruyes
* si no lo creas tú... tú no tienes que destruirlo
Responder Con Cita
  #7  
Antiguo 06-04-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Para entender la diferencia entre Create(nil) y Create(Self) hay que entender qué significa el parámetro de Create, y para ello puedes consultar aquí.

// Saludos
Responder Con Cita
  #8  
Antiguo 06-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
mmmm
que pasaria entonces si los formularios que voy creando los definio asi

Código Delphi [-]
 
Tform1.create(self)

eso quiere decir que cuando salga (onClose) ya no tengo que destruirlo?

o se refiere a destruir lo que pueda contener el form o el objeto o a los que llame dentro de el???
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #9  
Antiguo 06-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 oscarac.

Copio la respuesta que te dí en el otro hilo y borro la anterior, ya que este es el hilo donde debe ir.

"Creo que no te fué contestada la pregunta, una explicación rápidita. El constructor de un Form es:

Código Delphi [-]
constructor Create(AOwner: TComponent) ;

El argumento AOwner va a dictaminar quien es el dueño del objeto creado:

Si es nil, no tiene dueño por lo tanto es tu problema la liberación del mismo.

Si es Self, el dueño será el objeto implícito (Self) pasado en el argumento, cuando este es liberado también lo es el otro.
Ejemplo:
Código Delphi [-]
procedure TForm1.ButtonClick(Sender: TObject);
begin
  with TForm2.Create(Self) do ShowModal;  // Owner es Form1
end;

Si es Application, el dueño es la variable global Application, cuando la aplicación finaliza es liberado el Form."

Un saludo.

Nota: Lamento la demora pero estoy renegando con el router...
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 06-04-2011 a las 23:00:00.
Responder Con Cita
  #10  
Antiguo 06-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
Con respecto a tu última pregunta, aca aunque en inglés, lo explican mucho más claramente.

Un saludo
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #11  
Antiguo 07-04-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por ecfisa Ver Mensaje
"Creo que no te fué contestada la pregunta
Ejem

Cita:
Empezado por roman Ver Mensaje
Para entender la diferencia entre Create(nil) y Create(Self) hay que entender qué significa el parámetro de Create, y para ello puedes consultar aquí.
// Saludos
Responder Con Cita
  #12  
Antiguo 07-04-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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 roman.

Había visto tu respuesta más arriba, pero copie y pegué textualmente el mensaje del otro hilo y se me pasó por alto quitar esa línea.
Hasta ese momento nadie le había contestado y ese es el por qué de la presencia ese párrafo, que debí haber quitado o al menos modificado.
Resumiendo el concepto en una palabra: Haraganería.

Así que van mis disculpas.

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 07-04-2011 a las 12:49:14.
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
Diferencia de crear formularios con Create(self) y con Application.CreateForm Lizette Varios 4 30-03-2009 08:46:44
Método free dentro de create jam OOP 4 09-03-2007 22:37:18
Diferencia entre Consultas santi33a MS SQL Server 1 08-11-2005 08:19:22
Diferencia entre .GDB y .FDB CarlosHernandez Firebird e Interbase 3 14-09-2005 04:08:49
Diferencia entre fechas.... seb@ OOP 1 21-08-2003 15:57:22


La franja horaria es GMT +2. Ahora son las 17:39:02.


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