|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.11.2007, 20:26 | #1 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 44
|
Операторы прерывания
Подскажите, плиз, какие в дельфи операторы прерывания
У меня в проекте при нажатии на кнопку запускается процесс. Хочу, чтобы при нажатии на другую кнопку процесс выполнения прерывался, осуществлялся досрочный выход из всех циклов. |
26.11.2007, 20:35 | #2 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
гм... ну процесс - как я подозреваю Вы имели ввиду всякие действия в функции. Ну а кто Вам мешает внести глобальную переменную тот же тип Boolean. Т.е. в цикле просто проверяете его значение а после Application.ProcessMessages. Вот и все. А в другой кнопке просто значение этой переменной измените и будет Вам прерывание. Если имеется ввиду запуск дочернего процесса, то тут дело другое. Смотря что за процесс - если окно то сообщения пойдут для корректности, если консоль то оборвать и терминайт подойдет... Если Вы дожидаетесь окончания процесса запущенного то врятли что Вы сможете сделать из свой программы ( родителя ). Уточните вопрос!
|
26.11.2007, 21:01 | #3 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 44
|
У меня при нажатии на кнопку начинается процесс имитации. Запускаются в том числе циклы для сбора статистики. Выводятся промежуточные р-ты в поля формы, потом подсчитывается статистика.
Я хочу иметь возможность все это прервать. Просто. Чтобы при нажатии на кнопку все остановилось - т.е. произошел выход из процедуры, запушенной первой кнопкой. |
26.11.2007, 21:07 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
break;
exit; (Не во всех версиях)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
26.11.2007, 21:46 | #5 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 44
|
|
26.11.2007, 21:52 | #6 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 44
|
еще есть Abort
только не знаю, как его применить |
26.11.2007, 22:20 | #7 |
Познаю мир
Форумчанин Подтвердите свой е-майл
Регистрация: 05.10.2007
Сообщений: 387
|
Аборт ? как смешно написала =) вообще также только в ошибке говорится что брэйк вне цикла .. поставь его в цикл
---
|
26.11.2007, 22:28 | #8 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Break, Exit, Abort, Continue прерывают конкретный цикл for..do, while ..do, а не процесс. Раз Вы его называете процессом, следовательно он идет продолжительное время и скорее всего регулируется Timer. Если это так, то второй кнопкой нужно выключить Timer. Если же все-таки нужно прервать цикл, то в цикле задается условие по которому он прерывается, только это никакой кнопкой не сделаешь. Вообще Вас очень трудно понять, что Вам нужно.
|
26.11.2007, 23:32 | #9 |
Пользователь
Регистрация: 11.11.2007
Сообщений: 44
|
процесс действительно длится некоторое время. Но регулируется он не таймером.
Проблема в том, что главная процедура содержит другие процедуры и далеко не один цикл. И нужно выйти именно из этой процедуры, совсем |
27.11.2007, 00:11 | #10 | |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Цитата:
Самое правильное это задать условие при котором процесс долженн завершиться и сверятся в конце каждого цикла.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прерывания и asm в Си | BOBAH13 | Общие вопросы C/C++ | 7 | 05.08.2008 15:52 |
прерывания | sergei64_89 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 3 | 22.04.2008 13:37 |