Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Бегунок при подключении к базе данных, бегунок при отсутствии подключения к БД 
:(
    Опции темы
AndreyZ53
Дата 20.3.2014, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Всем привет!

Интересует такой вопрос!

Имеется сервер с MS SQL, имеется клиент, написанный на Delphi, который подключается к серверу.

Если сервер недоступен или сеть лежит, когда пользователи запускают программу-клиента, то она открывается, зависает на некоторый промежуток времени и, так как не удалось подключиться к серверу выдает сообщение, что нет подключения к БД.

Вопрос: как лучше всего сделать, когда пользователь запускает программу, появлялся бегунок (типа идет подключения, можно ProgressBar), то есть, чтобы показывалось окно программы и бегунок, который имитировал подключение, но чтобы программа сама не зависала.

Это сообщение отредактировал(а) AndreyZ53 - 20.3.2014, 14:10
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Akella
Дата 20.3.2014, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



тогда нужно подключаться к серверу в отдельном потоке
PM MAIL   Вверх
AndreyZ53
Дата 20.3.2014, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Akella, ммм, а не подскажите хороших примеров по созданию потоков???
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Antimol
Дата 20.3.2014, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: 4
Всего: 4



--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
Akella
Дата 21.3.2014, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Потоки - тема иногда непростая для изучения и понимания, так что готовься неделю изучать и экспериментировать.

Добавлено через 2 минуты и 22 секунды
а может и больше или меньше
всё зависит от твоего опыта и сложности задачи
PM MAIL   Вверх
Bose
Дата 21.3.2014, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Проще при подключении показать окошко с анимированной гифкой (включив свойство отрисовки гифки в отдельном потоке). А подключение продолжать в основном.
PM MAIL WWW Skype   Вверх
AndreyZ53
Дата 24.3.2014, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Bose, не совсем понял, то есть мне не надо делать свой поток на подключение?

Это сообщение отредактировал(а) AndreyZ53 - 24.3.2014, 08:45
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Bose
Дата 25.3.2014, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(AndreyZ53 @  24.3.2014,  07:44 Найти цитируемый пост)
Bose, не совсем понял, то есть мне не надо делать свой поток на подключение?

Если ты хочешь в потоке проверять доступна ли БД, то надо.


А если хочешь просто показывать анимированную гифку (чтобы создать иллюзию, что программа не зависла), пока основной поток подключается к БД, то можно и не делать.
п.с. анимированную гифку показать намного проще чем заморачиваться с показом реального прогрессбара из потока

Это сообщение отредактировал(а) Bose - 25.3.2014, 15:41
PM MAIL WWW Skype   Вверх
AndreyZ53
Дата 26.3.2014, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Bose, Еще подскажите тогда.

У меня главная форма, на ее событии OnShow прописано подключение к БД.

Перед подключением к БД я вызываю новую форму, на которой размещен анимированный бегунок, но он и сама анимация зависает на время подключения к БД (если нет связи) и так до тех пор, пока не выдаст сообщение об ошибки подключения.

Как мне можно сделать, чтобы эта анимация не зависала
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Bose
Дата 29.3.2014, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(AndreyZ53 @  26.3.2014,  16:01 Найти цитируемый пост)
Перед подключением к БД я вызываю новую форму, на которой размещен анимированный бегунок, но он и сама анимация зависает на время подключения к БД (если нет связи) и так до тех пор, пока не выдаст сообщение об ошибки подключения.

Как мне можно сделать, чтобы эта анимация не зависала 

Для анимации использовать TjvGifImage - со включенным свойством проигрывания анимации в потоке. Я только не помню, точно ли это был именно TjvGifImage или какой-нибудь другой компонент типа TjvAnimationЧто-нибудь. Но точно помню, что в JVCL был компонент умеющий обновлять анимацию из отдельного потока.

PM MAIL WWW Skype   Вверх
AndreyZ53
Дата 31.3.2014, 07:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Bose, вроде бы уже получше, но вот нашел такую проблему еще, что если нет связи, то анимация выполняется в своем потоке и не зависает, все отлично. Но вот если я перекрою ее каким-нибудь окном (открою другую программу), то она опять зависает. Это уже не лечиться, без использования потоков???

Это сообщение отредактировал(а) AndreyZ53 - 31.3.2014, 07:22
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
Bose
Дата 31.3.2014, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 9
Всего: 51



Цитата(AndreyZ53 @  31.3.2014,  06:11 Найти цитируемый пост)
 Это уже не лечиться, без использования потоков???

Увы
PM MAIL WWW Skype   Вверх
AndreyZ53
Дата 31.3.2014, 14:43 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 22.8.2008

Репутация: нет
Всего: 2



Bose, спасибо за помощь, плюсик Вам!

Будем смотреть дальше, либо разберемся с потоками, либо оставим как есть!
--------------------
https://itbases.ru/
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0880 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.