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

Ваш аккаунт

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

Последние темы форума

Показать новые сообщения »

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

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

Выполнение длительных операций в приложениях на Delphi

Если приложение выполняет какую-либо операцию, занимающую много времени (более нескольких секунд), например, очень большой цикл с медленными операциями, то, во-первых, необходимо периодически (хотя бы раз в секунду), вызывать Application.ProcessMessages, позволяющую Windows заниматься своими обычными делами и, во-вторых, периодически проверять значение поля Application.Terminated, чтобы узнать, не завершил ли пользователь ваше приложение, не дождавшись результатов его работы. Поле Terminated приобретает значение True в тех случаях, когда пользователь закрывает главное окно программы или из программы вызывается Application.Terminate. Кроме того, следует учитывать, что установившиеся де-факто стандарты на интерфейс требуют отображения текущих результатов работы (легче всего это сделать с помощью компонента TProgressBar), либо, если это по каким-либо причинам невозможно (например, при выполнении SQL-запроса), просто отображения движущегося изображения, в символической форме демонстрирующего суть происходящего процесса (компонент TAnimate).

Z-центр

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
Аноним
Мне нравитсяМне не нравится
23 февраля 2006, 12:36:31
Конечно это уродство будет работать в пределах 1-2секунд - лучше всего разобраться с потоками. Это на сей момент насущная необходимость - XP с ними оченно дружит, а с суррогатами типа этого нет.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог