diff --git a/Client/source/MainFrm.dfm b/Client/source/MainFrm.dfm index e1906b1..a4abe80 100644 --- a/Client/source/MainFrm.dfm +++ b/Client/source/MainFrm.dfm @@ -176,4 +176,11 @@ object MainForm: TMainForm Left = 424 Top = 80 end + object ConnectWaitTimer: TTimer + Enabled = False + Interval = 100 + OnTimer = ConnectWaitTimerTimer + Left = 504 + Top = 24 + end end diff --git a/Client/source/MainFrm.pas b/Client/source/MainFrm.pas index 60fbf06..f78b9b1 100644 --- a/Client/source/MainFrm.pas +++ b/Client/source/MainFrm.pas @@ -34,6 +34,7 @@ type SimulatorPanel: TPanel; SimulatorSelectionPanel: TPanel; SimulatorLockButton: TSpeedButton; + ConnectWaitTimer: TTimer; procedure FormCreate(Sender: TObject); procedure PortComboBoxClick(Sender: TObject); @@ -43,6 +44,7 @@ type procedure CalibrationButtonClick(Sender: TObject); procedure SimulatorComboBoxClick(Sender: TObject); procedure SimulatorLockButtonClick(Sender: TObject); + procedure ConnectWaitTimerTimer(Sender: TObject); private FComPort: TComPort; FReceived: string; @@ -63,6 +65,7 @@ type procedure StartCommand; procedure EndCommand; procedure OnReceiveChar(Sender: TObject; Count: Integer); + procedure OnAfterClose(Sender: TObject); function ValidFanIndex(AFan: Byte): Boolean; inline; @@ -368,6 +371,7 @@ begin FComPort := TComPort.Create(Self); FComPort.BaudRate := br19200; FComPort.OnRxChar := OnReceiveChar; + FComPort.OnAfterClose := OnAfterClose; end; newPort := PortComboBox.Items[PortComboBox.ItemIndex]; @@ -378,26 +382,9 @@ begin try ComPort.Open; - SendCommand('>Info', - procedure(Response: string) - begin - if AnsiStartsText('Info', + procedure(Response: string) + begin + if AnsiStartsText('