Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Application.ProcessMessages

25K
09 августа 2007 года
KAMASUTR
8 / / 08.08.2007
Application.ProcessMessages Че это такое, для чего надо и как вызывать! В хелпе пачти не чего нет!!
18K
09 августа 2007 года
gnumus
52 / / 28.07.2007
Заставляет приложения обработать накопившиеся сообщения. Я пользую в больших циклах (для того чтобы форму как минимум можно было сдвинуть или свернуть). Иначе приложение делает вид что висит.

Так и вызываешь где-то в долгом процессе вычислений. Но учти, что это значительно увеличит время работы долгих циклов.
8.2K
26 августа 2007 года
Pelican
115 / / 16.06.2007
Вот пример. Допустим, нужно организовать отмену длительной операции при нажатии, например, на кнопку:
Код:
Var BreakFlaq: boolean;

procedure TForm1.Button1Click(Sender: TObject);
begin
  BreakFlaq:=True;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
begin
  breakFlaq:=False;
  for i:=1 to 10000 do begin
    Application.ProcessMessages;
    if BreakFlaq then Break;
    ...
  end;
end;

При нажатии Button2 начинается цикл, который может быть прерван нажатием кнопки Button1.
Ну, а если пользователь решит закрыть программу в ходе выполнения цикла, то в его [цикла] тело нужно добавить строчку:
 
Код:
...
if Application.Terminated then Break;
...

Вот наглядный пример организации приложения с помощью вызова метода
Application.ProcessMessages.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог