Подписаться на 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 и предотвращает подвисание программы. Если убрать эту строчку то программа будет "подвешана", т.е. окно нельзя будет не перетащить не изменить. Доступа к нему не будет пока все действия не будут завершены.

  • Подоконники глянцевые

    Описание продукции. Интернет-магазин стройматериалов.

    psk-plast.ru

  • Заборы

    Услуги замерщика. Заборы и тротуарная плитка.

    centrosvar.ru

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

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

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


Имя *:
Email:


Код *:

On-line статистика:
Онлайн всего: 3
Гостей: 3
Пользователей: 0
Статистика:


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

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

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

Хостинг от uCoz

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

e-mail: save-x@yandex.ru

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

Гостевая книга