Вниз
Скачать: 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.027 c
2-1160480446
fisherman
2006-10-10 15:40
2006.10.29
Про ADOConnection


6-1149137424
Roman80
2006-06-01 08:50
2006.10.29
Outlook Express


2-1160668978
redlord
2006-10-12 20:02
2006.10.29
в каком потоке работает ServerSocket1ClientRead


3-1157479783
DBE
2006-09-05 22:09
2006.10.29
paradox на другом компе


2-1160769352
Plm
2006-10-13 23:55
2006.10.29
Подключение к базе Microsoft Access




   Наверх