Вниз
Скачать: CL | DM;

Запуск запроса в другой нити   Найти похожие ветки 

← →
voland   (2004-01-26 15:59) [0]

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


← →
Digitman ©   (2004-01-26 16:11) [1]

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


← →
voland   (2004-01-26 16:13) [2]

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


← →
Polevi ©   (2004-01-26 20:24) [3]

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


← →
jack128 ©   (2004-01-26 20:31) [4]


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


← →
jack128 ©   (2004-01-26 20:35) [5]


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


← →
y-soft ©   (2004-01-26 21:38) [6]

voland (26.01.04 15:59)

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


← →
KSergey ©   (2004-01-27 09:04) [7]

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


← →
Polevi ©   (2004-01-27 10:00) [8]

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


← →
sniknik ©   (2004-01-27 10:47) [9]

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

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


← →
voland   (2004-01-28 19:59) [10]

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


← →
ЮЮ ©   (2004-01-29 03:25) [11]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.03 c
7-80327
KommandorDi
2003-12-01 19:15
2004.02.25
Пока работает моя программа Windows не может завершиться


1-79980
Zvr@b
2004-02-13 15:05
2004.02.25
Как построить график функции


1-79884
8ung
2004-02-09 20:54
2004.02.25
Слишком медленная работа с файлами.


3-79626
Крутыш
2004-02-01 15:44
2004.02.25
DBF+ADO


6-80049
Buffoon
2003-12-22 14:35
2004.02.25
Ссылки




   Наверх