unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ScktComp; type TForm1 = class(TForm) ServerSocket1: TServerSocket; SpinEdit1: TSpinEdit; Memo1: TMemo; Button1: TButton; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); procedure ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ServerSocket1.Port:=SpinEdit1.Value; ServerSocket1.Active:=True; end; procedure TForm1.Button2Click(Sender: TObject); begin ServerSocket1.Active:=False; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var S: string; begin if Key = Chr(13) then begin Key:=Chr(0); S:=Edit1.Text; Edit1.Clear; ServerSocket1.Socket.Connections[0].SendText(S); Memo1.Lines.Add('< '+S); end; end; procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket); begin Memo1.Lines.Add('êëèåíò îòñîåäèíèëñÿ'); end; procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); var Received: string; begin Received:=Socket.ReceiveText; Memo1.Lines.Add('> '+Received); end; end. 

Bugs out:

[Error] RLINK32: Out of memory!

    3 answers 3

    Several errors - about the first you have already answered, the second is that you have 2 begin'a and 1 end in the following procedure.

     begin <<<<<<<<<<<<<<<<<<<<<< if Key = Chr(13) then begin <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Key:=Chr(0); S:=Edit1.Text; Edit1.Clear; ServerSocket1.Socket.Connections[0].SendText(S); Memo1.Lines.Add('< '+S); end; <<<<<<<<<<<<<<<<<<<<<<<<<<< 

      And what is not clear? The procedure TForm1.Edit1Change ( TForm1.Edit1Change input Edit1 , respectively) is declared in a form, but not described in the implementation. Either delete it in object inspector, or describe it. The same with ServerSocket1Accept

        Remove these 2 lines from your code

          procedure Edit1Change(Sender: TObject); procedure ServerSocket1Accept(Sender: TObject;Socket: TCustomWinSocket);