Чтобы при выполнении длительного цикла другие приложения не подвисали
Встретились Windows 95 и Windows 98:
- Ну что, в бар пойдем, или тут зависнем?
Нужно вставить в тело цикла:
Application.ProcessMessages;
После этого даже само приложение, выполняющее цикл не будет виснуть. Например, по нажатию на кнопку напишите следующий код:
procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
randomize;
for i:=0 to 50000000 dobegin
Form1.Caption := IntToStr(Random(5000));
Application.ProcessMessages;
end;
end;
Статья Чтобы при выполнении длительного цикла другие приложения не подвисали раздела Синтаксис Циклы может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.