Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.048 c
2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке


2-1161074883
Dmitry_177
2006-10-17 12:48
2006.10.29
Запись в файл в DLL, THandle файла в разных процессах


3-1157105353
bdes
2006-09-01 14:09
2006.10.29
Обрезает строку в поле DBgrid`а


15-1160463589
*Стажер*
2006-10-10 10:59
2006.10.29
Mandrake Linux


4-1149756872
Eldev
2006-06-08 12:54
2006.10.29
Смена буквы раздела диска