![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разорвать цикл
Ray © (2006-06-02 20:29:00)Когда крутится цикл вычислений, программа до его окончания не реагирует на кнопки, клавиши, вообще ни на что :(
Складывается впечатление, что она висит -- даже экран не обновляется.
Но по окончании цикла и выхода из процедуры все восстанавливается.
А хотелось бы чтобы она хотя бы опрашивала какую-нибудь кнопочку, например Abort.
Как это реализовать?
Хотелось бы увидеть пример.
Ray (2006-06-03 12:59:00) [1]Kolan, а ее и не было видно, пока не вызовешь. Но свойство почему-то стояло :-\
Кароч, все заработало, как надо. Всем спасибо! :)
Kolan (2006-06-02 22:48:00) [2]
> Проблема оказалась в том, что у этой формы почему-то было
> visible=true.
> Теперь все работает, всем спасибо :)
>
ТАк её не должно быть видно....
Virgo_Style (2006-06-02 22:19:00) [3]Ray © (02.06.06 22:13) [9]
Проблема оказалась в том, что у этой формы почему-то было visible=true.
??!!!
№2: FormStyle:=fsStayOnTop
Ray (2006-06-02 22:13:00) [4]Проблема оказалась в том, что у этой формы почему-то было visible=true.
Теперь все работает, всем спасибо :)
Трабла №2:
как сделать, чтобы форма была всегда поверх остальных окон,пока я ее сам не закрою? Типа как ShowModal?
ShowModal не подходит, т.к. тогда эта форма всё перехватывает, а мне на нее только вывод информации надо делать.
Loginov Dmitry (2006-06-02 21:39:00) [5]Бывает...
Ray (2006-06-02 21:32:00) [6]
> Странная какая-то у вас кнопка. Не нажимается...
> А что она делает?
Да ничего не делает. Просто не нажимается и все.
Даже фокус на нее не ставится.
Хотя, когда эту форму из главной формы вызываешь, все нормально нажимается.
TUser (2006-06-02 21:19:00) [7]if CircleCounter mod 100 = 0 then
Application.ProcessMessages;
+ [2]
Loginov Dmitry (2006-06-02 21:12:00) [8]Ray © (02.06.06 20:56) [4]
кнопка не нажимается
Странная какая-то у вас кнопка. Не нажимается...
А что она делает?
Ray (2006-06-02 20:56:00) [9]Странно то, что в главной форме это работает замечательно,
но если открываю модально форму и в ней цикл крутится -- кнопка не нажимается :-\
Kolan (2006-06-02 20:43:00) [10]Чтобы полностью разъяснить ситуацию скажу почему это происходит. Дело в том что, чтобы твои кнопки нажимались, была реакция на клавиши приложение должно выбирать из очереди и обрабатывать сообщения. Все это происходит в основном потоке. Но так как ты запустил цикл основной поток занят и соотв. не может обработать сообщения.
Вызов
Application.ProcessMessages
Позволяет выбрать и обработать накопившиеся сообшения...
Kolan (2006-06-02 20:36:00) [11]Это вставить внутрь цикла...
Kolan (2006-06-02 20:35:00) [12]
Application.ProcessMessages