![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выполнение Query+кода в отдельном потоке [D6, Paradox]
Vovan © (2003-09-04 17:30:00)
У меня возникла необходимость выполнить в отдельном потоке запрос и по результатам этого запроса в том же потоке заполнить MemoryTable (из набора утилит Rx). Запрос в потоке выполняется:
Query.Open;
,но далее код типа:
while not Query.Eof do begin
//заполнение MemoryTable
end;
...выполнять отказывается.
Как заставить поток отрабатывать до тех пор, пока не будет выполнен весь код до конца?
Vovan (2003-09-04 18:08:00) [1]
Огромное спасибо sniknik !!! Это как раз ТО оказалось:)
2MsGuns: текст запроса
Select NPol from Blank
и все:)
Nikolay M. (2003-09-04 18:02:00) [2]
> почему в потоке после открытия запроса (с текстом Select...
> например) далее ни одна команда не выполняется?
Хз :)
Посмотри в екзамплах BkQuery - там все выполняется.
Vlad (2003-09-04 18:01:00) [3]
Приведи код, как ты с потоком работаешь ?
MsGuns (2003-09-04 18:00:00) [4]
А сам запрос корректный ? Запусти его в эксплорере для поверки
sniknik (2003-09-04 18:00:00) [5]
наверное потому, что Query у тебя в основном потоке обьявлен.
Vovan (2003-09-04 17:57:00) [6]
Нет, молчит:) Но MemoryTable остается пустой. Т.е., если для контроля поставить после
Query.Open
ShowMessage("Буду выполнять код");
то такого сообщения не дождетесь :)
Т.о. вопрос могу сформулировать иначе: почему в потоке после открытия запроса (с текстом Select... например) далее ни одна команда не выполняется?
Nikolay M. (2003-09-04 17:36:00) [7]
> ...выполнять отказывается
Это как? Говорит "Не буду выполнять код!"?