Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

WaitForSingleObject с перерисовкой вызвавшего приложения   Найти похожие ветки 

 
П7   (2004-10-08 11:37) [0]

Уважаемые Мастера!
У меня сейчас одна прога (1) вызывает на выполение вторую (2). Вызывает и далее WaitForSingleObject, пока не произойдёт закрытие 2. Т.к. 1 никак не реагирует на нажатия мыши (это нужно) и не перерисовывается (это НЕ нужно), то мне приходится минимизировать её.
Есть ли способ заставить вызвавшую программу 1 принудительно перерисовываться, но всё так же не реагировать на всякие манипуляции, типа перетаскивания, ввода и пр?


 
Reindeer Moss Eater ©   (2004-10-08 11:38) [1]

В документации настоятельно не рекомендуется вызывать функции ожидания в оновном потоке GUI приложения.


 
Суслик ©   (2004-10-08 11:44) [2]

1) Запускай и ожидай в доп. потоке.
2) Можешь также попробовать использовать MsgWaitForMultipleObjects. И реагировать на определенный события.


 
Семен Сорокин ©   (2004-10-08 11:51) [3]

3) сделать цикл ожидания вручную, с проверкой наличия запущенного процесса в списке процессов.


 
Romkin ©   (2004-10-08 11:53) [4]

ТАм последний параметор в wait - TIMEOUT. Ставь полсекунды, и давай repaint формы, в цикле, если, конечно, именно время кончилось, а не процесс :)


 
Romkin ©   (2004-10-08 11:53) [5]

ТАм последний параметор в wait - TIMEOUT. Ставь полсекунды, и давай repaint формы, в цикле, если, конечно, именно время кончилось, а не процесс :)


 
Romkin ©   (2004-10-08 11:54) [6]

     while WaitForSingleObject(pi.hProcess, 1000) = WAIT_TIMEOUT do
       Update;


 
ssk ©   (2004-10-08 11:56) [7]

var
 p : TProcessInformation;

while WaitForSingleObject(p.hProcess, 50) = WAIT_TIMEOUT do
   Application.ProcessMessages;


 
Polevi ©   (2004-10-08 12:26) [8]

MsgWaitForMultipleObjects


 
П7   (2004-10-08 13:37) [9]

Спасибо, буду пробовать. (:



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

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
1-1097073036
Programmer
2004-10-06 18:30
2004.10.24
Как трассировать dll?


1-1097346018
GrISeR
2004-10-09 22:20
2004.10.24
Добавление тектса из одного RichEdit d другой


10-1050326805
Help!!!!!
2003-04-14 17:26
2004.10.24
Параметры Name Service


4-1095577813
SergP.
2004-09-19 11:10
2004.10.24
Как в Delphi обработать аппаратное прерывание?


1-1097145911
Cosinus
2004-10-07 14:45
2004.10.24
DrawCell в StringGrid. Хм...