title: Add a Data Pointer to TIdTCPServer and TIdCustomTCPServer
body: <p>I would like to add a Data Pointer to the <code>TIdTCPServer</code> and I would like to have it also in the <code>TIdCustomTCPServer</code>. I'm not good in overriding, etc. so that's what I have so far:</p>
  
  <pre><code>unit Unit1;
  
  interface
  
  uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdContext, IdBaseComponent, IdComponent,
    IdCustomTCPServer, IdTCPServer, Vcl.StdCtrls;
  
  type
    TIdTcpServer = class(IdTcpServer.TIdTcpServer)
    public
      Data : Pointer;
  end;
  
  type
    TForm1 = class(TForm)
      IdTCPServer1: TIdTCPServer;
      Button1: TButton;
      procedure IdTCPServer1Connect(AContext: TIdContext);
      procedure IdTCPServer1Disconnect(AContext: TIdContext);
      procedure IdTCPServer1Execute(AContext: TIdContext);
      procedure Button1Click(Sender: TObject);
    private
      { Private declarations }
    public
      { Public declarations }
    end;
  
  var
    Form1: TForm1;
  
  implementation
  
  {$R *.dfm}
  
  procedure TForm1.Button1Click(Sender: TObject);
  begin
    IdTCPServer1.Data := TObject (12345); // Just a test to fill the Data Pointer;
  end;
  
  procedure TForm1.IdTCPServer1Connect(AContext: TIdContext);
  var
    ParentServer  : TIdCustomTCPServer;
    MyData        : Integer;
  begin
   //
   ParentServer   := TIdServerContext(AContext).Server;
   // MyData      := Integer(ParentServer.Data);
  end;
  
  procedure TForm1.IdTCPServer1Disconnect(AContext: TIdContext);
  begin
   //
  end;
  
  procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
  begin
   //
  end;
  
  end.
  </code></pre>
  
  <p>How could I do this to get the Data Pointer back to any of the OnConnect/OnDisconnect/etc ?</p>