Ver Mensaje Individual
  #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
Reputación: 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