Главная страница
    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.036 c
1-1097248945
DelphiLexx
2004-10-08 19:22
2004.10.24
TComponentEditor


3-1095250068
AndrewK
2004-09-15 16:07
2004.10.24
Как создать отчет во FreeReport.


4-1095430666
Smart Crazy
2004-09-17 18:17
2004.10.24
Убить эту чёртову иконку в трее


14-1096934165
Homa_Programer
2004-10-05 03:56
2004.10.24
НОВОСИБИРЦЫ, ПОМОГИТЕ!!!


1-1097139583
Andrey_
2004-10-07 12:59
2004.10.24
очистка image.picture





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский