Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизПрерывание выполнения цикла Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.008 c