Текущий архив: 2006.10.29;
Скачать: CL | DM;
Вниз
Вопрос по отображению окна Найти похожие ветки
← →
-=Mike=- (2006-01-13 15:57) [0]У меня есть следующая задача:
Есть некий обработчик некого события, например, обработчик нажатия на кнопку Button1Click.
В нем нужно сделать следующее: отобразить информационное окно и начать выполнять длительную операцию, по истечении которой изменить надпись в этом окне.
Но тут возникла проблема – информационное окно отображается только после завершения работы обработчика события Button1Click.
Я пробовал вставлять после оператора отображения информационного окна Applet.ProcessPendingMessages или Form.ProcessPendingMessages, но ничего не помогло.
Подскажите, что сделать в этой ситуации.
← →
ECM © (2006-01-13 16:19) [1]Applet.ProcessMessages ?
А вообще то в таких случаях надо приводить свой код - тогда было бы понятнее...
Возможно ProcessPendingMessages завершается раньше чем события перерисовки попадают в очередь ...:))
procedure ProcessPendingMessages;
{* |<#appbutton>
Similar to ProcessMessages, but without waiting of
message in messages queue. I.e., if there are no pending
messages, this method immediately returns control to your
code. This method is better to call during long cycle of
calculation (then ProcessMessages). }
т.е. для правильной работы этой функции ИМХО нужен примерно такая последовательность в цикле вычислений:
1) Обновление надписи
2) Достаточно длинный по времени кусок вычислений
3) ProcessPendingMessages
← →
-=Mike=- (2006-01-13 16:58) [2]Превеликое сорри!!!
Разобрался! Эта был мой баг. Небольшой недочет в процедуре отображения информационного окна - фукция UpdateWindow даже и не вызывалась.
:)
Страницы: 1 вся ветка
Текущий архив: 2006.10.29;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.029 c