Вниз
Скачать: CL | DM;

MsgWaitForMultipleObjects   Найти похожие ветки 

← →
Unknown Mystic ©   (2004-08-02 12:34) [0]

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

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

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

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


← →
Polevi ©   (2004-08-02 12:35) [1]

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


← →
Unknown Mystic ©   (2004-08-02 12:41) [2]

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


← →
Игорь Шевченко ©   (2004-08-02 12:42) [3]


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


PeekMessage + DispatchMessage


← →
Unknown Mystic ©   (2004-08-02 12:49) [4]

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


← →
Игорь Шевченко ©   (2004-08-02 13:18) [5]


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

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


← →
Unknown Mystic ©   (2004-08-02 13:24) [6]

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


← →
Digitman ©   (2004-08-02 13:34) [7]


> 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:36) [8]

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



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.021 c
1-1094480818
QQ
2004-09-06 18:26
2004.09.19
Глюк с массивами


1-1094034749
Wolfram
2004-09-01 14:32
2004.09.19
Проблема с dxDBGrid


1-1094123427
alex732
2004-09-02 15:10
2004.09.19
Всегда OnTOP


3-1093146870
Flagman
2004-08-22 07:54
2004.09.19
Процедура не отрабатывает :(


1-1094043254
Subdigger
2004-09-01 16:54
2004.09.19
Excel




   Наверх