Ver Mensaje Individual
  #2  
Antiguo 26-04-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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 doctorhd.
Cita:
... ,¿Assigned, comprueba realmente que el objeto ha sido creado?...
No, la función Assigned comprueba si un puntero o una variable procedimental está o no asignada. Dicho de otro modo, la función Assigned devuelve True si el argumento es diferente de nil o False si es igual.

Pero una clase puede no haber sido instanciada (o ya liberada) y su valor ser diferente de nil, como puede verificarse en este ejemplo:
Código Delphi [-]
...
const
  MSG: array[Boolean] of string = ( 'DESASIGNADO', 'ASIGNADO' );
var
  o : TObject;
begin
  ShowMessage( MSG[Assigned(o)] ); // muestra ASIGNADO

  //------------------
  o := TObject.Create;
  o.Free;
  ShowMessage( MSG[Assigned(o)] ); // muestra ASIGNADO
  
  //-----------------
  o := TObject.Create;
  o.Free;   // | igual a:
  o := nil; // | FreeAndNil(o);
  ShowMessage( MSG[Assigned(o)] ); // muestra DESASIGNADO

Saludos
__________________
Daniel Didriksen

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