Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MsgWaitForMultipleObjects [D5]


Unknown Mystic ©   (2004-08-02 12:34:00) 

Подскажите, пожалуйста, как заставить программу перерисовываться, при использовании

Result := MsgWaitForMultipleObjects(1, hProcess, false, INFINITE, QS_PAINT);

Я так понимаю, что вызов MsgWaitForMultipleObjects надо поместить в цикл и в зависимости от возвращаемого значения либо выходить из него (Result = WAIT_ABANDONED_0) , либо... А что собственно делать, когда Result = WAIT_OBJECT_0 ?

Если можно, напишите этот цикл. Спасибо.


Unknown Mystic   (2004-08-02 13:36:00) [1]

Большое спасибо!


Digitman   (2004-08-02 13:34:00) [2]


> Unknown Mystic ©   (02.08.04 13:24) [6]


while True do
case MsgWaitForMultipleObjects(1, hProcess, false, INFINITE, QS_PAINT) of
WAIT_OBJECT_0: Break;
WAIT_OBJECT_0 + 1:
  while Peekmessage(Msg, 0, 0, 0, PM_REMOVE) do
    begin
      TranslateMessage(Msg);
      Dispatchmessage(Msg);
    end;
end;

WAIT_ABANDONED - это, в первую очередь, для работы с мьютексами и семафорами, тебя это в дан.случае не касается


Unknown Mystic   (2004-08-02 13:24:00) [3]

Т.е.
WAIT_OBJECT_0     - завершение процесса (hProcess)
WAIT_OBJECT_0 + 1 - QS_PAINT
так? А что тогда такое WAIT_ABANDONED_0 ?


Игорь Шевченко   (2004-08-02 13:18:00) [4]


> Кстати какое значение будет у Result, при возникновении
> QS_PAINT?

WAIT_OBJECT_0 + 1 в данном случае


Unknown Mystic   (2004-08-02 12:49:00) [5]

Спасибо. Попробую. Кстати какое значение будет у Result, при возникновении QS_PAINT?


Игорь Шевченко   (2004-08-02 12:42:00) [6]


> А что делать когда происходит QS_PAINT?


PeekMessage + DispatchMessage


Unknown Mystic   (2004-08-02 12:41:00) [7]

Да? Значит я не так понял... А что делать когда происходит QS_PAINT?


Polevi   (2004-08-02 12:35:00) [8]

Result = WAIT_OBJECT_0 означает что засигналил hProcess, то есть процесс завершился


Наверх

Титульная страница Поиск, карта сайта Написать письмо