title: how to add objects to virtualtreeview
body: <p>In short, I'm trying to add Object into VirtualTreeView but am always getting error <code>EAccessViolation</code> at CellText I'm wondering about the reason for the error i tried to do my best but without result...</p>
  
  <p>this is my attempt:</p>
  
  <pre><code> TForm1 = class(TForm)
   private
  
   public
  
   end;
  
   TPerson = class;
  
   PPersonNode = ^TPersonNode;
   TPersonNode = record
     PersonObj: TPerson;
   end;
  
   TPerson = class(TObject)
   private
     FName: string;
   public
     property Name: string read FName write FName;
   end;
  
   procedure TForm1.Button1Click(Sender: TObject);  
   var
     PersonRec: PPersonNode;
   begin
     PersonRec := VirtualStringTree1.GetNodeData(VirtualStringTree1.AddChild(nil));
     PersonRec.PersonObj := TPerson.Create;
     PersonRec.PersonObj.Name := 'aaa'; 
   end;
  
   procedure TForm1.VirtualStringTree1GetNodeDataSize(Sender: TBaseVirtualTree;
     var NodeDataSize: Integer);
   begin
     NodeDataSize := SizeOf(TPersonNode);
  end;
  
  procedure TForm1.VirtualStringTree1GetText(Sender: TBaseVirtualTree;
    Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
  var CellText: string);
  var
     PersonRec: PPersonNode;
  begin
     PersonRec := Sender.GetNodeData(Node);
     CellText := PersonRec.PersonObj.Name;
  end;
  </code></pre>