Для чего нужен ProcessMessages
Многие начинающие программисты не знают о методе Application.ProcessMessages() и сталкиваются с проблемами, которых не могут объяснить. Например хотим написать что-то на форме и через 5 секунд стереть.
Нужно сделать так:
procedure TForm1.Button1Click(Sender: TObject);
begin
Попробуйте убрать Application.ProcessMessages() и 'Started' вы никогда не увидите, это связано с тем, что Windows ждет пока накопятся задачи в очереди а не выполняет их сразу, Application.ProcessMessages() заставляет выполнить все задачи которые накопились в данный момент. Подробнее читайте в Help.
Это также можно применить в таком примере:
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
если не будет ProcessMessages() то пока крутится цикл мы не сможем сдвинуть или свернуть форму.