![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
Есть форма Form1, на ней кнопочка Button1 с выполнением операции, продолжительной... подскажите, как правильно писать форму, чтобы можно было прервать операция к примеру кнопкой Cancel?
Нужно писать обработчик в другой форме? Может нужно отдельный Unit или для этого нужно создавать DLL? Заранее благодарен... Денис. |
![]() |
![]() |
![]() |
#2 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
Здесь либо в цикле этой самой операции делать проверку или использовать потоки.
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
#3 | |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]() Цитата:
Добавлял в панель инструментов две кнопочки "Пауза" и "Стоп" (по желанию заказчика). А в теле процедур ловил флаги от нажатия этих кнопок, вот пример кода Код:
Untitled2.jpg
Перемешивай дело с бездельем и не сойдешь с ума...
Последний раз редактировалось Grag; 29.03.2010 в 17:44. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
вроде идеи неплохие, но вот проблема, когда выполняется операция, вообще никакие кнопки не активны, полностью приложение подвисает.... типа "Программа не отвечает"
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
вобщем, спрошу по другому.... можно ли перенести процедурку в "другой" (файл, модуль...) чтобы потом его прервать?
|
![]() |
![]() |
![]() |
#6 |
А может и не...
Участник клуба
Регистрация: 27.03.2010
Сообщений: 1,269
|
![]()
Для этого есть Application.ProcessMessages
Перемешивай дело с бездельем и не сойдешь с ума...
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
ВО! это уже что-то.... теперь мне просто в процедуре нужно поставить проверку флага типа "отмена"? я так понял?
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 228
|
![]()
мда..... только процедура стала полным тормозом.....
Ребята, а что там на счет потоков....? |
![]() |
![]() |
![]() |
#10 |
Участник клубаДжуниор
Регистрация: 23.08.2008
Сообщений: 1,616
|
![]()
pushl $0x18E3DF6B
call ICQ |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прервать выполнение функции? Как? | TwiX | Общие вопросы Delphi | 9 | 28.09.2009 16:36 |
Как прервать внешний цикл? | AndreyF | Общие вопросы Delphi | 15 | 15.06.2009 17:46 |
delphi 7, как прервать выполнение программы | Altera | Софт | 3 | 27.07.2008 15:14 |
Как зделать авто выполнение | Editor | Общие вопросы Delphi | 5 | 27.04.2008 21:01 |
Как ускорить выполнение макросов | tat-besidovska | Microsoft Office Excel | 1 | 22.01.2008 12:12 |