| 
| 
 | Вопрос # 3 763/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Подскажите пожалуйста,что делать если созданное приложение выполняется длительное время и подвисает(т.е.внешне окно становится белым и процесс идет долго),если фокус мыши переносится на любое другое окно. Если же фокус остается на самой форме выполняющегося приложения,то процесс идет намного быстрее и ничего внешне плохого не происходит (и даже ProgressBar двигается) :-))
 
|  |   Вопрос задала: MStar (статус: Посетитель)Вопрос отправлен: 12 февраля 2010, 12:56
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 3; последнее сообщение — 13 февраля 2010, 11:58; участников в обсуждении: 3. 
|   | vlsavkin (статус: 2-ой класс), 12 февраля 2010, 13:33 [#1]:Могу предположить, что в процессе действий(вычислений) программа перестает обрабатывать системные сообщения, в том числе, связанные и с отрисовкой окна. Попробуйте вставить Application.ProcessMessages в ту часть кода, где производятся основные действия программы.
 |  
|   | IlluminatI (статус: 2-ой класс), 12 февраля 2010, 14:23 [#2]:а еще лучше - вынесете основную часть кода в отдельный поток (Thread). |  
|   | Alexey6522 (статус: 1-ый класс), 13 февраля 2010, 11:58 [#3]:еще можно попробовать добавить Form1.DoubleBuffered:=True; при создании формы в обработчик OnCreate |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |