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

Вниз

Прерывание выполнения цикла   Найти похожие ветки 

 
angel2000   (2003-10-22 11:06) [0]

Есть процедура, которая работает в цикле
кнопка 1 вызывет данную процедуру и запускает
данный цикл
Так вот в чем вопрос - как сделать так, чтобы при
нажатии кнопки 1 я смог останавливать данный цикл и вообще как
это можно реализовать??????


 
Anatoly Podgoretsky ©   (2003-10-22 11:11) [1]

Что значит останавливать цикл, что должно при остановке делаться. И какие конретные проблемы испытываешь?


 
TUser ©   (2003-10-22 11:14) [2]

procedure THread1.Execute
begin
for ... do ...
end

procedure Button1Click
begin
Thread1.Terminate;
end;


 
kavlad   (2003-10-22 11:16) [3]

Видимо, цикл должен выполняться в отдельном потоке, а нажатие на кнопка 1 должно стартовать/останавливать этот поток. Смотри help и примеры по классу TThread. Ничего сложного там нет.


 
KSergey ©   (2003-10-22 11:22) [4]

В принципе, можно и без потоков - просто в теле цикла, возможно не на каждой итерации, вызывать Application.ProcessMessages, а в обработчике кнопки "Stop" некий флаг устанавливать, который проверять в цикле и, если что, цикл брейковать.
Однако надо быть готовым к тому, что в этом случае пользователь может с дуру начать тыкать вовсе не на кнопку останова, а на меню, системное меню окна, жать Alt-F4 и т.д.



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
3-8325
kukuikar
2003-10-12 16:30
2003.11.03
Я чайник в програмировании БД. Помогите.


1-8501
MaG
2003-10-23 20:02
2003.11.03
Шрифт


4-8730
Сергей Резников
2003-08-28 14:08
2003.11.03
как получить hIcon иконки файла, используя SHGetFileInfo ?


8-8553
dimodim
2003-07-04 13:04
2003.11.03
Как установить GlSCENE под 5-й делфи СРОЧНО!!!


3-8310
Юрий_48
2003-10-13 13:58
2003.11.03
DataSet без связи с БД