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 11-12-2007
citlalliDgp citlalliDgp is offline
Miembro
 
Registrado: oct 2007
Posts: 38
Poder: 0
citlalliDgp Va por buen camino
Talking Palabra reservada "nil"

Hola otra vez, amigos. Alguien puede explicarme qué pasa cuando asigno el valor 'nil' a un componente ??... Por ejemplo:

Código Delphi [-]
Form1:=nil;

O generalizando más, la pregunta sería... Para que sirve la palabra reservada 'nil' ????

Alguien podría ayudarme, por favor.
Responder Con Cita
  #2  
Antiguo 11-12-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
nil es una constante que representa un puntero nulo (cero). Una variable que contiene un objeto no es mas que un puntero a la posicion de memoria donde esta guardado el objeto. Si tu a una variable que hace referencia a un objeto le asignas nil, simplemente esa variable deja de apuntar al objeto pero el objeto sigue ahi en memoria.

Por ejemplo:
Código Delphi [-]
var
  Objeto: TMiObjeto;
begin
  Objeto:= TMiObjeto.Create;
  // Ahora la variable "Objeto" apunta al objeto recien creado
  Objeto.Free;
  // Ahora la variable objeto no ha variado, pero apunta aun objeto que ya no existe

  Objeto:= TMiObjeto.Create;
  Objeto:= nil;
  // Ahora la variable objeto tiene un valor nulo, pero el objeto que hemos creado sigue ahi, 
  // y como no tenemos ninguna variable que apunte hacia el, se quedara ahi
  // malagastando la memoria
end;

¿Algo mas?
Responder Con Cita
  #3  
Antiguo 11-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Lo dicho por seoane es cierto.

Solo quiero añadir que en algunos casos, podría ser que al asignar el valor nil a una propiedad de un componente si se lleve a cabo la destrucción del objeto que apuntaba. Caso de la conocida propiedad Picture de la clase TImage.

Si tenes interés en el tema, investigá el uso de la memoria dinámica.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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
Comentario "aplastante" contra los que atacan la "piratería" Casimiro Notevi La Taberna 12 07-03-2010 14:03:02
Necesito llamar a métodos de clases "hija" desde su clase "padre" Flecha OOP 17 20-04-2007 00:03:53
Ventana MDI, "Siempre visible" y "Pantalla completa" ixMike API de Windows 7 11-04-2007 18:36:55
Tal día como hoy se inventó la palabra "robot" marcoszorrilla Noticias 0 26-01-2007 08:34:42
porque no me reconoce los caracteres "*" ni "%" cuando filtro mrmago Conexión con bases de datos 10 27-01-2006 04:21:16


La franja horaria es GMT +2. Ahora son las 06:17:26.


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