Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Базы данных и репортинг > Бегунок при подключении к базе данных |
Автор: AndreyZ53 20.3.2014, 14:08 |
Всем привет! Интересует такой вопрос! Имеется сервер с MS SQL, имеется клиент, написанный на Delphi, который подключается к серверу. Если сервер недоступен или сеть лежит, когда пользователи запускают программу-клиента, то она открывается, зависает на некоторый промежуток времени и, так как не удалось подключиться к серверу выдает сообщение, что нет подключения к БД. Вопрос: как лучше всего сделать, когда пользователь запускает программу, появлялся бегунок (типа идет подключения, можно ProgressBar), то есть, чтобы показывалось окно программы и бегунок, который имитировал подключение, но чтобы программа сама не зависала. |
Автор: Akella 20.3.2014, 15:56 |
тогда нужно подключаться к серверу в отдельном потоке |
Автор: AndreyZ53 20.3.2014, 16:02 |
Akella, ммм, а не подскажите хороших примеров по созданию потоков??? |
Автор: Antimol 20.3.2014, 18:41 |
В общем вот: http://forum.vingrad.ru/forum/topic-60076.html |
Автор: Akella 21.3.2014, 12:59 |
Потоки - тема иногда непростая для изучения и понимания, так что готовься неделю изучать и экспериментировать. Добавлено через 2 минуты и 22 секунды а может и больше или меньше всё зависит от твоего опыта и сложности задачи |
Автор: Bose 21.3.2014, 16:49 |
Проще при подключении показать окошко с анимированной гифкой (включив свойство отрисовки гифки в отдельном потоке). А подключение продолжать в основном. |
Автор: AndreyZ53 24.3.2014, 08:44 |
Bose, не совсем понял, то есть мне не надо делать свой поток на подключение? |
Автор: AndreyZ53 26.3.2014, 17:01 |
Bose, Еще подскажите тогда. У меня главная форма, на ее событии OnShow прописано подключение к БД. Перед подключением к БД я вызываю новую форму, на которой размещен анимированный бегунок, но он и сама анимация зависает на время подключения к БД (если нет связи) и так до тех пор, пока не выдаст сообщение об ошибки подключения. Как мне можно сделать, чтобы эта анимация не зависала |
Автор: Bose 29.3.2014, 02:50 | ||
Для анимации использовать http://wiki.delphi-jedi.org/wiki/JVCL_Help:TJvGIFImage - со включенным свойством проигрывания анимации в потоке. Я только не помню, точно ли это был именно TjvGifImage или какой-нибудь другой компонент типа TjvAnimationЧто-нибудь. Но точно помню, что в JVCL был компонент умеющий обновлять анимацию из отдельного потока. |
Автор: AndreyZ53 31.3.2014, 07:11 |
Bose, вроде бы уже получше, но вот нашел такую проблему еще, что если нет связи, то анимация выполняется в своем потоке и не зависает, все отлично. Но вот если я перекрою ее каким-нибудь окном (открою другую программу), то она опять зависает. Это уже не лечиться, без использования потоков??? |
Автор: Bose 31.3.2014, 08:35 |
Увы |
Автор: AndreyZ53 31.3.2014, 14:43 |
Bose, спасибо за помощь, плюсик Вам! Будем смотреть дальше, либо разберемся с потоками, либо оставим как есть! |