0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 9
|
|
1 | |
Выполнение метода в отдельном потоке02.05.2012, 09:11. Показов 3002. Ответов 3
Метки нет (Все метки)
Всем привет.
Я вообщем то пользуюсь RAD Studio XE но смысл тот же самый Вообщем есть программка с датамодулем. В нем есть кверя (используется UniDAC от Devart, но по-сути наследник ADOQuery) выполняющая долгий поиск (до двух минут порой). Дело в том что программа естесстенно не отвечает на события во время поиска. Возникла мысль сделать все в потоке, да только вот все что нашел - создание класса потока, а уже в нем своей квери. А нельзя ли уже в готовой программе как то выполнить метод Execute() в потоке? А то переделывать слишком много прийдется под новый класс...
0
|
02.05.2012, 09:11 | |
Ответы с готовыми решениями:
3
Выполнение функции в отдельном потоке Таймер в отдельном потоке Заполнение TTreeView в отдельном потоке DrawGrid отрисовка в отдельном потоке |
02.05.2012, 12:12 | 2 | |||||
Копайте в сторону
0
|
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
|
|
02.05.2012, 15:44 | 3 |
TADOQuery имеет несколько режимов - как синхронный, так и асинхронный. В асинхронном после начала выполнения запроса управление возвращается вызвавшему потоку, а у компонента Query периодически срабатывает обработчик события получения новых данных (если правильно помню, OnFetchProgress и OnFetchComplete). Может таким образом, без потока попробовать? А так, если что, некоторый опыт использования Query в потоке у меня имеется.
0
|
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 9
|
|
03.05.2012, 09:14 [ТС] | 4 |
да вот дело в том что у UniDAC квери без асинхронного режима. Копнул в сторону CreateThread и все получилось. Всем спасибо за ответы.
0
|
03.05.2012, 09:14 | |
03.05.2012, 09:14 | |
Помогаю со студенческими работами здесь
4
Как запустить код в отдельном потоке Привязывание к вычислению ProgressBar в отдельном потоке Отправка данных по таймеру в отдельном потоке dbExpress подключение в отдельном потоке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |