Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: 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 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.021 c
14-80189
NeyroSpace
2004-01-30 16:01
2004.02.25
Пятница расслабьтесь на здоровье Ж:-)


9-79536
NailMan
2003-08-13 16:17
2004.02.25
Непонятные глюки со спрайтами и Delphi


14-80221
MPS
2004-02-05 08:36
2004.02.25
Нужно написать програмку под Дос...


1-79897
Anderson
2004-02-10 09:50
2004.02.25
MessagesBox вопрос банальный )))


14-80287
syte_ser78
2004-02-03 10:19
2004.02.25
мобильник за 100-140 уев