Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник
Коллекция курьезных вопросов из форумов
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Приостановить процесс


dmk ©   (30.09.19 08:26

Всем привет!
Подскажите пожалуйста, как приостановить процесс при минимизации окна и восстановить после разворачивания обратно?

Пробовал так:

procedure TMainForm.DoResize(Sender: TObject);
var
 H: THandle;

begin
 if Visible and (not Minimized) then
 begin
   H := GetCurrentThread;
   ResumeThread(H);

   //Обновим размеры
   UpdateViewport;

   //Перерисовка буфера
   App.ResetTime;

   //Рисуем сцену
   Render;
 end
 else
 if Minimized or (not Visible) then
 begin
   H := GetCurrentThread;
   SuspendThread(H);
 end;
end;

но программа после сворачивания не отвечает.
Восстановить окно и работоспособность не получается.


Leonid Troynovsky   (01.10.19 07:33[1]


> dmk ©   (30.09.19 08:26) 


Leonid Troynovsky   (01.10.19 07:40[2]

Sorry, письмо ветром унесло.

Suspend & Resume скорее отладочные функции.
Если первичный поток может себя суспендить, то резюмить его уже некому.

Т.е., подобное можно представить для вторичного потока, например,
притормаживать вычисления при сворачивании главного окна.

Но, я бы в любом случае использовал WaitFor* и объекты ядра.

--
Regards, LVT.


Leonid Troyanovsky ©   (01.10.19 07:49[3]


> Leonid Troynovsky   (01.10.19 07:40) [2]

Извините, не залогинился.


Styx ©   (01.10.19 20:01[4]

Если основной поток будет остановлен - как он доберётся до ResumeThread?


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо