Mam serwer i klienta w programie (pakiet Indy). Jednak podczas łączenia z serwerem i wysyłania komend powitalnych, procedura w pewnym momencie zatrzymuje się, tzn. nie są wykonywane polecenia dalej. Dodałem komunikaty showmessage jednak komunikat wyświetla się tylko jeden - jakby program zaniedbywał wykonywania się po komendzie klient.sendcmd('HELLO');. Dlaczego tak się dzieje? Serwer jest odpowiednio zaprogramowany. Na serwerze jednak też nie wykonuje się kod zawarty pod tą komendą. Oto kod wysyłania:

procedure TForm1.Button13Click(Sender: TObject);
begin
serwer.DefaultPort := strtoint(edit3.Text);
klient.Port := strtoint(edit3.Text);
klient.Host := edit4.Text;
if Radiobutton3.Checked then begin
// jeśli klient
    klient.Connect();
    if klient.Connected then begin
    showmessage('1');
      klient.sendcmd('HELLO');
      if klient.LastCmdResult.TextCode <> '200' then showmessage('error');
    showmessage('1');
      if Radiobutton1.Checked then klient.sendcmd('GAME_O') else klient.sendcmd('GAME_X');
      if klient.LastCmdResult.TextCode <> '200' then showmessage('error');
    showmessage('1');
      panel2.Caption := 'POŁĄCZONO';
    end;
end else begin
// jeśli serwer
  serwer.Active := true;
  Panel2.Caption := 'CZEKAM NA GRACZA';
end;
end;

I odpowiedź serwera:

procedure TForm1.serwerhelloCommand(ASender: TIdCommand);
begin
  asender.SendReply;
  form1.Memo1.Lines.Add('użytkownik wchodzi do gry');
  panel2.Caption := 'GRA';
end;

Co zrobić żeby to działało bez zarzutu?