Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.02.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.035 c
14-80285
Кот Бегемот
2004-02-03 09:15
2004.02.25
Корпорация Microsoft - год основания - 1975


3-79667
Dedushka_Mazai
2004-01-30 13:59
2004.02.25
как отслеживать мёртвые коннекты?


1-79719
alextov
2004-02-12 16:25
2004.02.25
Не получается сделать форму шире экрана


3-79568
Sibskan
2004-01-23 13:44
2004.02.25
Проблема в хранимой процедуре


6-80070
Pont
2003-12-18 12:27
2004.02.25
POP3 через прокси





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский