Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.05 c
15-1160584898
Cooller
2006-10-11 20:41
2006.10.29
Написание программ на Delphi для Win64


3-1157440210
ttt_111
2006-09-05 11:10
2006.10.29
Некорректный вывод числа при работе с БД.


15-1160419831
redlord
2006-10-09 22:50
2006.10.29
соединение 2 компов через инет


15-1160372968
litt
2006-10-09 09:49
2006.10.29
Плагин....


2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке




   Наверх