You've already forked multithread
mirror of
https://github.com/loginov-dmitry/multithread.git
synced 2025-12-25 23:37:08 +02:00
95 lines
3.5 KiB
Plaintext
95 lines
3.5 KiB
Plaintext
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
|