Also wir haben in der Schule mal was mit containern gelernt:
Die anderen forms brauchen ja nicht die gesamte form1 zu kennen, sondern nur den clientsocket. Also deklarierst du in jeder Form einen clientsocket:tclientsocket und schreibst für jede form eine Prozedur die ungefähr so aussieht:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm2.setclientsocket(pclientsocket:tclientsocket); begin clientsocket:=pclientsocket; end; |
Die Prozedur rufst du dann auf und übergibst als Parameter den clientsocket von Form1.
Dann solltest du in der Form2 unter clientsocket zugriff auf form1.clientsocket haben.
Kann dir keine Garantie geben ob es klappt, aber versuchs mal und sag bescheid ob das so funktioniert.
Wenn nicht: wäre es möglich eine extra unit für den clientsocket einzurichten, auf die alle anderen formulare zugriff haben?