ممنون از پاسختون .
من کد رو به این صورت نوشتم :
سمت کلاینت :
TCPClinet.IOHandler.WriteLn('Salam');
ShowMessage('Data Sent!');
سمت سرور :
procedure TForm1.TCPServerExecute(AContext: TIdContext);
var
AStream: TMemoryStream;
S: string;
begin
try
AStream := TMemoryStream.Create;
try
AContext.Connection.IOHandler.ReadStream(AStream);
S := StreamToString(AStream);
if S = 'Salam' then
Application.Terminate;
finally
AStream.Free;
end;
except
on E: exception do
ShowMessage(E.Message);
end;
end;
این هم تابع StreamToString (از stackoverflow پیدا کردم):
function TForm1.StreamToString(AStream: TStream): string;
var
SS: TStringStream;
begin
if AStream <> nil then
begin
SS := TStringStream.Create('');
try
AStream.Position := 0;
SS.CopyFrom(AStream, AStream.Size);
Result := SS.DataString;
finally
SS.Free;
end;
end
else
begin
Result := '';
end;
end;
با این حال با اجرای کدهای بالا برنامه Terminate نمیشه .