Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Запуск запроса в другой нити [D5, MSSQL]


voland ©   (2004-01-26 15:59:00) 

Возникла необходимость запускать запрос в другой нити никто не поможет ???


ЮЮ   (2004-01-29 03:25:00) [1]

Запросы надо писать так, чтобы не было мучительно больно за бесцельно прожитые минуты ожидания результата запроса :-)


voland   (2004-01-28 19:59:00) [2]

Спасибо за советы запустить получилось теперь хотелось бы еще реализовать одну вещь
при запуске в другой нити хотелось бы останавливать выполняющийся запрос ...


sniknik   (2004-01-27 10:47:00) [3]

Polevi © (27.01.04 10:00) [8]
почему абсолютно? похоже, только за тебя ADO заботится о создании отдельного потока и синхронизации с основным.

voland (26.01.04 16:13) [2]
судя по
> Fdataset.DisableControls;
раз это понадобилось (отключать контролы), то подозреваю есть связаный датасоурс и может быть грид, которые явно с основном потоке работают (грид по другому не может, VCL). а раз так то вот это
> Вот так я его запускаю но он почему то все равно запускается в основной нити и не дает мне ничего делать
вполне естественно, еще хорошо что совсем не виснет. так нельзя (если предположение верно)
и лутше действительно посмотреть в сторону асинхронного выполнения, проще, все за тебя сделают.


Polevi   (2004-01-27 10:00:00) [4]

>KSergey © (27.01.04 09:04) [7]
асинхронное выполнение и "в отдельных потоках" абсолютно разные вещи


KSergey   (2004-01-27 09:04:00) [5]

Если использовать ADO-компоненты, но в них есть готовая реализация выполенения запросов в отдельных потоках - см. ExecuteOptions: eoAsync...


y-soft   (2004-01-26 21:38:00) [6]

voland (26.01.04 15:59)

http://delphiplus.nagano.ru/articles/delphi/multithread_db_access/index.html


jack128   (2004-01-26 20:35:00) [7]


> А зачем?
если работают через ado, то дошло :-)


jack128   (2004-01-26 20:31:00) [8]


> и не забудь CoInitialize
А зачем?


Polevi   (2004-01-26 20:24:00) [9]

объект должен быть создан в том же потоке где используется
и не забудь CoInitialize


voland   (2004-01-26 16:13:00) [10]

procedure TQueryThread.Execute;
begin
Fdataset.DisableControls;
Fdataset.Close;
Fdataset.Open;
Fdataset.EnableControls;
end;
Вот так я его запускаю но он почему то все равно запускается в основной нити и не дает мне ничего делать
мне он нужен в фоновом режиме


Digitman   (2004-01-26 16:11:00) [11]

в любой нити это делается одинаково


Наверх

Титульная страница Поиск, карта сайта Написать письмо