da form2 nach form1 erstellt wird fände ich es am sinnvollsten das du TForm2 von TForm1 aus kreierst und der TForm2-Instanz den Clientsocket übergibst. Alles andere (zum Beispiel TForm2 greift auf die Instanz Form1 zu) ist keine sauber Objektorientierung weil auf bestimmte Instanzvariablen zu gegriffen wird und ein mehrfach erzeugen der Forms dann nicht fehlerfrei funktioniert.
Delphi-Quellcode:
TForm2 = class(TForm)
[...]
private
fSocket: TClientSocket;
public
property Clientsocket: TClientSocket read fSocket write fSocket;
Delphi-Quellcode:
TForm1 = class(TForm)
private
fForm2: TForm2;
[...]
procedure TForm1.FormCreate(Sender: TObject);
begin
fForm2 := TForm2.Create(Self);
fForm2.ClientSocket := Self.fClientSocket;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
fForm2.Free;
end;