![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Приложение и запрос
Alex_V © (2005-07-13 06:51:00)Вопрос вроде простой: на время выполнения запроса приложение замерзает...Как сделать так чтоб приложение продолжало работать, обрабатывать сообщения...
evvcom (2005-07-13 10:15:00) [1]Только учитывать, что TDataSet - контрол из VCL, поэтому надо принять меры, чтобы не произошло обращение к одним и тем же данным из доп. и основного потока без синхронизации. Возможно, TDataset.DisableControls будет достаточно, а может и нет. Я не пробовал и не разбирался.
ANB (2005-07-13 09:48:00) [2]
> Alex_V © (13.07.05 09:42) [7]
1. TThread + F1. Все подробно разжевано, даже пример есть. И, кажись, где то в статьях есть статья про синхронизаци.
2. Вынос выполнения запроса в отдельный поток перестанет вешать твое приложение, но снять запрос с выполнения все равно будет проблематично, так как тогда будет подвисать этот отдельный поток.
Alex_V (2005-07-13 09:42:00) [3]Где почитать можно об этих самых потоках? только чтоб подробно описано было, если есть ссылочки конечно.....Как создать, как процедуру в поток, в общем все.... Если не трудно конечно...
Anatoly Podgoretsky (2005-07-13 09:28:00) [4]Тогда дополнительный кодовый поток.
Alex_V (2005-07-13 09:09:00) [5]Да нет, не секрет, обычный локал, ДБФ с доступом через БДЕ...
evvcom (2005-07-13 09:03:00) [6]
> Anatoly Podgoretsky © (13.07.05 08:52) [3]
Это секретная информация. :)
Anatoly Podgoretsky (2005-07-13 08:52:00) [7]Про базу молчим
evvcom (2005-07-13 08:30:00) [8]И еще как вариант: оптимизировать сам запрос. Не всегда это возможно, но случаи разные бывают.
dmitry501 (2005-07-13 06:59:00) [9]Alex_V © (13.07.05 6:51)
Все длительные операции оформлять отдельным трэдом.