object MainForm: TMainForm Left = 0 Height = 440 Top = 0 Width = 592 Caption = 'Пример отображения модального окна при выполнении операции в доп. потоке' ClientHeight = 440 ClientWidth = 592 Color = clBtnFace Font.Color = clWindowText Font.Height = -13 Font.Name = 'Tahoma' OnCreate = FormCreate LCLVersion = '3.1.0.0' object Label1: TLabel Left = 40 Height = 208 Top = 16 Width = 504 Caption = 'В данном примере демонстрируется, как можно выполнить серию взаимосвязанных '#13#10'длительных операций и при этом не блокировать главный поток. '#13#10'Демонстрируется эмуляция продажи товара по банковской карте. Она состоит '#13#10'из следующих действий:'#13#10'1) Операция с банковской картой (управление передаётся модулю банковского'#13#10'процессинга. Операция может занять несколько минут).'#13#10'2) Фиксация транзакции в базу данных (операция может занять несколько секунд)'#13#10'3) Пробитие чека на кассе (операция может занять несколько секунд)'#13#10#13#10'Благодаря тому, что главный поток не блокируется, программа может в фоне'#13#10'выполнять любые операции (например, синхронизация с другой учётной системой,'#13#10'резервирование базы данных, опрос оборудования, отображение текущего'#13#10'времени и т.д.)' Font.Color = clBlue Font.Height = -13 Font.Name = 'Tahoma' ParentFont = False end object Label2: TLabel Left = 40 Height = 19 Top = 413 Width = 117 Anchors = [akLeft, akBottom] Caption = 'Текущее время:' Font.Color = clWindowText Font.Height = -16 Font.Name = 'Tahoma' ParentFont = False end object labCurTime: TLabel Left = 163 Height = 19 Top = 413 Width = 24 Anchors = [akLeft, akBottom] Caption = '???' Font.Color = clWindowText Font.Height = -16 Font.Name = 'Tahoma' ParentFont = False end object Label3: TLabel Left = 200 Height = 16 Top = 330 Width = 280 Caption = 'Накладные расходы составляют от 10 до 30 мс' Font.Color = clBlue Font.Height = -13 Font.Name = 'Tahoma' ParentFont = False end object Button1: TButton Left = 64 Height = 41 Top = 248 Width = 433 Caption = 'Выполнить эмуляцию продажи по банковской карте' TabOrder = 0 OnClick = Button1Click end object Button2: TButton Left = 64 Height = 34 Top = 296 Width = 433 Caption = 'Измерение накладных расходов на показ модальной формы' TabOrder = 1 OnClick = Button2Click end object Button3: TButton Left = 64 Height = 41 Top = 352 Width = 433 Caption = 'Демонстрация ProgressBar' TabOrder = 2 OnClick = Button3Click end object Timer1: TTimer Interval = 300 OnTimer = Timer1Timer Left = 16 Top = 248 end end