Почему бы не создавать ServerSocket динамически? Компонент убрали, но объект остался

Код:
type
TForm1 = class(TForm)
...
procedure ServerAccept(Sender: TObject;
ClientSocket: TCustomIpClient);
...
end;
var Server1: TServerSocket;
procedure TForm1.FormCreate(Sender: TObject);
begin
Server1:=TServerSocket.Create(Form1);
With Server1 do
begin
Parent:=Form1;
Port:=2002;
Active:=true;
end;
Server1.OnAccept:=ServerAccept;
end;
procedure TForm1.ServerAccept(Sender: TObject;
ClientSocket: TCustomIpClient);
begin
Memo1.Lines.Append(ClientSocket.Receiveln());
end;