Я пишу приложение, которое подключается к БД и периодически (с интервалом в 1 минуту) считывает данные из базы данных.Это что-то вроде чтения RSS-каналов, но с локальной базой данных.Если не удается прочитать данные, я пытаюсь восстановить соединение.Я разработал его с TADOConnection и TADOQuery, помещенными в форму (то есть без динамического создания) .Моя цель - сохранить приложение «живым» с точки зрения пользователя, поэтому я поместил соединение и часть для чтения в один поток.Вопрос в том, как это сделать наилучшим образом?
Мой дизайн выглядит следующим образом:
- запуск приложения, TADOConnection и TADOQuery создаются вместе с формой
- открыть соединение в отдельном потоке (TADOConnection)
- если соединение установлено, приостановить поток подключения, запустить таймер в форме, который периодически возобновляет другой поток для чтения данных
- , есличтение потока завершается успешно, ничего не происходит, а таймер формы продолжает работать, в случае сбоя поток останавливает таймер и возобновляет поток подключения
Лучше ли динамически создавать TADOConnection или TADOQuery или нетне имеет значения?Лучше ли использовать, например, критическую секцию в темах или что-то еще (у меня есть только один доступ к компоненту одновременно и только один поток)?
Спасибо за ваши предложения