Подписаться на RSS рассылку
Главная » Статьи по Delphi » Программа и интерфейс » Предотвратить подвисание программы при выполнении большого числа действий

Предотвратить подвисание программы при выполнении большого числа действий

Автор: Борисов Сергей

var i,x:integer;
begin
  For i:=0 to 399999999 do
  begin
    x:=round(x+5/50*86/5); // выполняем действия
    Application.ProcessMessages;
  end;
end;

Именно Application.ProcessMessages и предотвращает подвисание программы. Если убрать эту строчку то программа будет "подвешана", т.е. окно нельзя будет не перетащить не изменить. Доступа к нему не будет пока все действия не будут завершены.

Просмотров: 5937

Обсудить на форуме

0   Спам
(18.10.2009)
1. gost
Если в программе подобных циклов десятки, а то и сотни такой подход не поможет. cool
Ответ: Вы не поняли смысл этого алгоритма! Он не ускоряет выполнение алгоритма, а делает так, что приложение будет перерисовываться, и не будет статуса "не отвечает"


Имя *:
Email:


Код *:

Copyright © 2008-2016 Программирование на Delphi для начинающих и не только

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации

Хостинг от uCoz

Автор проекта: Борисов Сергей

e-mail: save-x@yandex.ru

Связь с администрацией сайта