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!