Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.038 c
3-1096366227
Koala
2004-09-28 14:10
2004.10.24
Изменение ширины колонок


1-1097500992
neznaika
2004-10-11 17:23
2004.10.24
MDIChild в DLL-ке


3-1096013574
Aser
2004-09-24 12:12
2004.10.24
Получение конкретного поля из запроса


8-1089041318
Сергей Г
2004-07-05 19:28
2004.10.24
Конвертация музыкальных файлов


1-1097156631
vikoz
2004-10-07 17:43
2004.10.24
Манифест не работает





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский