Как можно приостановить выполняемое событие?
На пример у главной формы включим точку onClose и также создадим сообщение после соединим точку onClose с точкой doMessage и после компиляции попробуем закрыть главную форму то получим перед закрытием главной формы сообщение и аш после закрытия сообщения главная форма закроется...
Вопрос в следующем: есть ли такой компонент который мог бы приостановить поток на определённое время?
Сразу говорю что компонент Sleep не подходит так как он замораживает всю прогу а мне нужно чтобы только определённые события приостанавливались как происходит это при появлении сообщения перед закрытием формы пример которой я описал выше но без самого сообщения.
Пример:
code_15693.txt
PS. Схема выше приведена просто для примера и писать мне способы приостановки закрытия формы связанные с точкой Close не надо...
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
|
|||
карма: 1 |
| ||
файлы: 1 | code_15693.txt [429B] [106] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
карма: 27 |
|
Ответов: 1841
Рейтинг: 369
|
|||
не, я имел ввиду приостановление например события onClose без остановки всей программы...
|
|||
карма: 1 |
|
Ответов: 4641
Рейтинг: 334
|
|||
CriDos писал(а): не, я имел ввиду приостановление например события onClose без остановки всей программы...давай конкретнее на примере. Ни как не пойму чего надо. Таймер тебе не подходит..тогда что! Может просто пользоваться правильно таймером не умеешь? |
|||
карма: 1 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
CriDos писал(а): не, я имел ввиду приостановление например события onClose без остановки всей программы...оконные сообщения, коим и является WM_CLOSE обрабатываются основным потоком программы. Отсюда простой вывод - задержать обработку сообщения без остановки всего потока не возможно впринципе. |
|||
карма: 27 |
|
Ответов: 1841
Рейтинг: 369
|
|||
Ravilr, смотри: Точка onClose на главной форме вызывает событие при закрытии формы и пока это событие не будет выполнено форма не закроется.
При соединении точки главной формы onClose к точке doMessage элемента Message и потом скомпилировав проект попробуем закрыть программу и при попытки закрыть программу получим сообщение и пока мы не нажмём на ОК программа будет работать! Можно ли сделать такой же эфект приостановки события в данном случае точки onClose как это происходит в описанном выше случае но только без элемента Message? ------------ Дoбавленo в 14.54: Dilma, опередил... Ясно. |
|||
карма: 1 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Так что-ли:
|
|||
карма: 1 |
|
Разработчик
Ответов: 26160
Рейтинг: 2127
|
|||
Можно еще и так приостанвить работу для любого участка схемы, если я, конечно, правильно понял задачу
|
|||
карма: 22 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Или даже так:
|
|||
карма: 1 |
|
Разработчик
Ответов: 26160
Рейтинг: 2127
|
|||
tsdima, мне кажется, что он просил приостановить работу приложения
CriDos писал(а): Можно ли сделать такой же эфект приостановки событияили я чего-то не втер |
|||
карма: 22 |
|
Ответов: 1841
Рейтинг: 369
|
|||
nesco писал(а): Можно еще и так приостанвить работу для любого участка схемы, если я, конечно, правильно понял задачуnesco, правильно понял но после приостановки потока по идее форма не должна закрываться так как событие не выполнено до конца (как я думаю) ------------ Дoбавленo в 16.06: nesco писал(а): tsdima, мне кажется, что он просил приостановить работу приложенияна оборот, приложение должно также работать кроме события после которого будет приостановка потока (по времени или событию)... |
|||
карма: 1 |
|
Ответов: 2125
Рейтинг: 159
|
|||
CriDos, тебе чего надо-то? Деактивировать форму, чтобы кнопки не нажимались и текст в поля ввода не вводился? Или задержку чего-то?
|
|||
карма: 1 |
|
Ответов: 4630
Рейтинг: 749
|
|||
Если речь идет про onClose - то можно использовать точку Close, чтобы разрешить или нет закрытие формы.
А для того чтобы приостановить любые другие события, то обычно это делается при каком-либо условии (иначе зачем вообще подключать обработку этого события?), соответственно нужно просто проверить это условие и не реагировать на событие. |
|||
карма: 26 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
CirDos, это что ли?
|
|||
карма: 10 |
|
Ответов: 4641
Рейтинг: 334
|
|||
карма: 1 |
| ||
файлы: 1 | code_15700.txt [491B] [147] |