|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.05.2017, 00:03 | #1 |
Новичок
Джуниор
Регистрация: 02.05.2017
Сообщений: 1
|
Остановка цикла по нажатию клавиши
Только начал осваивать эту задачу, может код и корявый, но не пойму, почему он не работает, мне нужно остановить процедуру start когда я захочу, вернее когда я нажму Esc , я жму Esc , но не робит. Помогите.
Код:
|
03.05.2017, 08:45 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы заняли UI поток своим циклом, поэтому он не может вызвать обработчик нажатия.
Почитайте про потоки (TThread) и вынесите в отдельный поток. Еще есть костыли типа Application.ProcessMessages.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
03.05.2017, 10:04 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
хочу чуток пояснить абсолютной верный ответ Alex11223 про "костыль".
иногда можно и его использовать. суть состоит в том, чтобы в цикле давать Windows возможность обработать очередь сообщений (в которой и стоит сообщение о нажатой клавише). попробуйте: Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
остановка цикла | Emperator12 | Общие вопросы Delphi | 2 | 06.10.2012 12:49 |
Остановка/Возобновление цикла | Зод | Общие вопросы Delphi | 9 | 13.09.2012 21:25 |
Delphi выход из цикла по нажатию клавиши | Фиалка001 | Помощь студентам | 4 | 16.10.2011 16:01 |
Как выйти из цикла по нажатию горячей клавиши? | suslik_ | Помощь студентам | 2 | 06.07.2011 16:20 |
остановка цикла | dgoc | Помощь студентам | 7 | 28.06.2011 02:18 |