![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 04.12.2007
Сообщений: 5
|
![]()
Привет всем.
Нужна помощь в решении вопроса об остановке цикла. Точнее есть некий цикл, который необходимо остановить кнопкой Стоп. Проблема в том, что при выполнеии цикла программа не реагирует на нажатия кнопки Стоп, а тупо виснет. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Я думаю, что надо исправить обработчик события нажатия некой кнопки Стоп в некой программе, чтоб она не висла.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 27.06.2011 в 23:29. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 04.12.2007
Сообщений: 5
|
![]()
Alex11223, а конкретней можно?
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Какой вопрос — такой и ответ.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#5 |
Очень суровый
Участник клуба
Регистрация: 17.12.2009
Сообщений: 1,988
|
![]()
application.processmessages(); в цикле не поможет?
(это я исхожу из того что вы на Delphi пишете, почему язык не указываем? Или как все- забыл?)
Ненавижу быть как все, но люблю, чтобы все были как я.
Последний раз редактировалось MyLastHit; 27.06.2011 в 23:42. |
![]() |
![]() |
![]() |
#6 |
Регистрация: 04.12.2007
Сообщений: 5
|
![]()
MyLastHit спасибо. Вроде сработало. Пишу действительно на Delphi, запарился.
Alex11223 объясню на примере. На форме 2-е кнопки: Пуск и Стоп. По нажатию Пуск запускается цикл: переменная Х увеличивается на 1, пока не будет нажата кнопка Стоп. Однако во время выполнения цикла реакции на нажатие кнопки Стоп нет. Так понятнее? Если есть еще варианты пишите. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 26.05.2010
Сообщений: 32
|
![]()
можно таймер с интервалом 1 поставить и цикл там выполнять(точнее не надо писать for i:=1 to maxint), он сам до бесконечности увеличивать будет x. А вот в кнопке стоп написать timer1.enebled:=false; а на Пуск timer1.enebled:=true;. но это как то по детски и в секунду он только тысячу к X прибавить
|
![]() |
![]() |
![]() |
#8 | |
Очень суровый
Участник клуба
Регистрация: 17.12.2009
Сообщений: 1,988
|
![]() Цитата:
Ваш алгоритм мягко говоря странный, вы еще в отдельном потоке счетчик отгрохайте, чтоб совсем наверняка... работодатель такого никогда не примет, да и преподаватель тоже. Чтобы цикл не тормозил работу программы нужно использовать Код:
Ненавижу быть как все, но люблю, чтобы все были как я.
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Остановка потоков по ID | steelforce | Общие вопросы Delphi | 2 | 24.01.2010 16:50 |
Остановка выполнения | Artanis | Общие вопросы C/C++ | 1 | 20.12.2009 18:13 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
Остановка Memo | Sanek777 | Общие вопросы Delphi | 1 | 11.09.2008 15:50 |
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat | McMilin | Помощь студентам | 7 | 11.11.2007 14:10 |