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