title: Destructor class in TObject and NIL Delphi
body: <p>I am wondering why after I invoke <code>Free</code> method the object is not <code>nil</code>.<br>
  What I mean for example next class:</p>
  
  <pre><code>type Ta = class(TObject)
  public
    i: integer;
    destructor Destroy; override;
  end;
  
  destructor Ta.Destroy;
  begin
    inherited;
  end;
  
  procedure Form1.Button1;
  var a: Ta;
  begin
    a := Ta.Create;       
    a.Free;
  
    if a = nil then
      button1.Caption := 'is assigned' 
    else 
      button1.caption := 'is not assigned';
  end;
  </code></pre>
  
  <p>My question is why after freeing the object is not <code>nil</code> and how will I make <code>a</code> to be <code>nil</code> after destructor without using <code>a := nil</code>?</p>