Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.10;
Скачать: CL | DM;

Вниз

Query.Last в отдельном потоке?   Найти похожие ветки 

 
Max_   (2003-06-18 10:59) [0]

Создаю поток, передаю в него Query1 (нпр. t:=TMyThread.Create(Query1);), в Execute методе потокa выполняется Query.Last! Нажимаю кнопку и поток запускается- всё хорошо работает, но вот проблема в том, что я не могу другой кнопкой его прервать (t.terminate), т.к. метод Last выполняется 1 раз и оператор в методе Execute потокa (while not Terminated do) неуместен (да он и не работает в этом случае)!!! Как мне его прервать раньше чем он закончится?


 
Соловьев ©   (2003-06-18 11:03) [1]

с потоками не работал, но может так?
with Query do
begin
open;
first;
while not Eof
begin
if thread_terminate then t.terminate;
Next;
end;
end;


 
Соловьев ©   (2003-06-18 11:04) [2]

...
if thread_terminate then t.terminate else Next;
...


 
Max_   (2003-06-18 11:20) [3]

Так получается Вы заменяете Last на While not Query1.Eof do Query1.Next; A это приемлимо, т.е. скорость Last и While одинаковая?



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
14-31426
megadeth
2003-06-20 18:38
2003.07.10
Как windoze отлавливает время когда надо запустить screensaver ?


3-31111
Doc
2003-06-17 14:21
2003.07.10
Нет опции в DBGrid.


6-31386
Kurt_
2003-05-05 12:49
2003.07.10
С помощью компоненты NMSMTP оптравляю письма. Выдает следующую


14-31452
sapsi
2003-06-23 14:03
2003.07.10
Выплата пенсии


14-31425
yu-roman
2003-06-22 03:23
2003.07.10
как сделать инсталяционный файл