Здравствуйте!
Попробуйте провести какой эксперимент.
Создайте новое приложение, новая форма.
Установите подключение к какой либо базе данных (например ADOConnection)
База должна находится удаленно, на соседней машине или на хостинге.
В свойствах в design-time устанавливаем connection:=true - всё ок
Ставим на форму кнопку и таймер.
В таймере выставляем 10 секунд и в обработчике пишем команду halt;
Таймер по умолчанию отключен.
По нажатии на кнопку пишем:
включить таймер, далее сделать любой запрос из базы данных и показать результат на форме.
Всё - этого достаточно для эксперимента.
Запускаем программу (соединение уже установлено). Нажимаем на кнопочку. Раз - появляются результаты запроса и через 10 сек - прога вылетает. Всё отлично.
Теперь вторая попытка, но с небольшим но...
Запускам программу. Теперь вытаскиваем штекер из сетевой карты. Нажимаем на кнопочку. И ВСЁ.... ВИСИМ... Где таймер??? Почему не закрывается программа...
Я понимаю, что соединение прервалось и могут быть какие-то там из-за этого заморочки, но почему таймер не срабатывает? Ведь мы его запустили до того, как начали делать запрос? Почему ВСЁ висит... Причем висит не по какому-то таймауту, а бесконечно...
Пробовал с разными базами, пробовал под Win и под Lin - всё одно...
Что делать? Может кто-то подскажет чего я не понимаю?