Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Вниз

Приостановка приложения 


Burmistroff   (2002-01-08 23:56) [0]

Подскажите пожалуйста, как можно приостановить работу приложения (с последующим возобновлением)? Есть идея заморозить все thread"ы процесса, но так ли это правильно?



Кострюков Сергей   (2002-01-09 00:05) [1]

Для заморозки приложения на некоторое время сделай процедуру, которая:
1. Спросит текущее время процедурой Now;
2. Процедурой DecodeDate и DecodeTime разобьет это на отденьные переменные (минуты, секунды, часы,...);
3. К этим значениям прибавишь сколько надо времени (напр
Min = Min + 1 // Задержаться 1 минуту)
4. поставить цикл, который будет спрашивать время и сравнивать его с существующим, пока существующее не станет более поздним!
Все!!! Кодировать сам будешь!



Алексей Петров   (2002-01-09 10:11) [2]

Заморозка всех thread-ов и есть приостановка приложения (кроме thread-ов выполняться больше там не чему). Но есть некоторая опасность, что в момент остановки процесс захватил какой нибудь ресурс (ну Mutex, например), тогда он будет его держать все время, пока остановлен...

Если процесс свой - лучше всего сделать в нем функцию "Suspend", доступную из вне. А в этой функции будет для каждого thread-а выставляться флаг: "зделай себе suspend, как только сможешь".
Нужно правда еще обыграть ситуацию с уже заSuspend-еными потоками, что-бы их при разморозке не запустить вопреки логике программы.



Burmistroff   (2002-01-09 13:55) [3]

> Кострюков Сергей
Имелось ввиду чужое приложение ;)




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.024 c
14-19316          Григорий Ситнин       2002-01-16 16:15  2002.03.07  
хакнутый тест на интеллект =) интересно.


3-19068           Bormanoid             2002-02-07 21:25  2002.03.07  
Как отобразить список записей поля таблицы в combobox?


7-19360           denis2001             2001-12-03 17:53  2002.03.07  
Информация о системе( нужен модуль CRT.DCU или WINCRT.DCU


1-19195           sammy                 2002-02-18 14:16  2002.03.07  
условие в Install Shield


1-19124           kaif                  2002-02-20 13:22  2002.03.07  
Знатокам ООП вопрос