Перейти к содержанию
Fire Monkey от А до Я
  • 0

Не корректно отрабатывает Disconnect


gonzales

Вопрос

Доброго времени суток.

Увидел очень странное поведение idTCPClient

Написал процедуру принудительного реконекта с сервером, но она отрабатывает не так, как ожидалось (сорри за оформление, не работает кнопка Код на сайте)

procedure TForm1.Reconnect(er: String);
var
  Size: TSizeF;
  B: boolean;
begin
  Size.cx := 16;
  Size.cy := 16;
  if Client1.Connected = true then
  begin
    Client1.Disconnect;
  end;
  if Client1.Connected = false then
  begin
    try
      Client1.Connect;
      Form1.ConnectImage.Bitmap := Form1.IconList.Bitmap(Size, 15);
      Timer1.Enabled := true;
    except
      on E: Exception do
      begin
        InfoLabel.text := er;
        Form1.ConnectImage.Bitmap := Form1.IconList.Bitmap(Size, 7);
      end;
    end;
  end
  else
  begin
    Form1.ConnectImage.Bitmap := Form1.IconList.Bitmap(Size, 15);
    Timer1.Enabled := true;
  end;
end;

 

Смысл в том, что после Client1.Disconnect, Client1.Connected остается в состоянии true, хотя на сервере вижу, что соединение разорвалось. 

И ничего не помогает, пробовал и Client1.IOHandler.Close и Client1.Disconnect(true). 

Подскажите, в какую сторону копать?

Ссылка на комментарий

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...