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

Как прервать SQLConnection ? Android


Сергей Сергеев

Вопрос

Добрый день!

Использую для коннекта с сервером Datasnap TsqlConnection.

Т.к. мобильная связь не всегда устойчива, иногда возникают паузы.. 

при этом кнопка "Войти"  остается в нажатом состоянии..  ( по ней делается sqlconn.open ) 

интерфейс блокируется и нажать какой нибудь 'cancel' не получается.

Думаю это потому, что Android выполняет соединение в основном потоке.. и пока не вернется из недр connect ( по тайм ауту к примеру)

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

Кто делал нечто подобное, жду мудрых советов .. заранее спасибо..

 

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

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

  • 0
3 часа назад, Сергей Сергеев сказал:

Добрый день!

Использую для коннекта с сервером Datasnap TsqlConnection.

Т.к. мобильная связь не всегда устойчива, иногда возникают паузы.. 

при этом кнопка "Войти"  остается в нажатом состоянии..  ( по ней делается sqlconn.open ) 

интерфейс блокируется и нажать какой нибудь 'cancel' не получается.

Думаю это потому, что Android выполняет соединение в основном потоке.. и пока не вернется из недр connect ( по тайм ауту к примеру)

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

Кто делал нечто подобное, жду мудрых советов .. заранее спасибо..

 

Не скромный вопрос, а зачем держать соединение постоянно открытым???

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

ну никто не заставлял Connection запускать в основном потоке

создавайте поток, отдавайте ему ссылку на Datamodule и пусть фигачит себе ))

Ссылка на комментарий
  • 0
6 часов назад, krapotkin сказал:

ну никто не заставлял Connection запускать в основном потоке

создавайте поток, отдавайте ему ссылку на Datamodule и пусть фигачит себе ))

И садит батарею)))

Ссылка на комментарий
  • 0
14 минут назад, krapotkin сказал:

а в основном жалеет ее что-ли?

Да нет, я про то, что написал вверху:

 

В 25.09.2016 в 23:51, Vitaldj сказал:

а зачем держать соединение постоянно открытым???

 

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

соединение, зараза, долгая операция относительно вызова функции. поэтому все, в т.ч. браузеры его держат, сколько возможно.

у меня в программе Datasnap коннект тоже держится. и поднимается заново, если  он был потерян.

но других средств против заморозки интерфейса, кроме выноса в другой поток, не существует

Ссылка на комментарий
  • 0
В Tuesday, September 27, 2016 в 09:29, krapotkin сказал:

соедин пклиента ение, зараза, долгая операция относительно вызова функци и. поэтому все, в т.ч. браузеры его держат, сколько возможно.

у меня в программе Datasnap коннект тоже держится. и поднимается заново, если  он был потерян.

но других средств против заморозки интерфейса, кроме выноса в другой поток, не существует

коннект надо держать, чтобы жила сессия на сервере. не псевдо сессия  с тикетами и прочими бекдорами потенциальными,  а та, сощданная при первом коннекте, хранящая в себе и только в себе на сервере ид  клиента вошедшего, и только с этим ид выполняющая действия, не принимая его из вне.

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

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

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

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

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

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

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

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

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

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

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