Debugger: In BreakpointPropertyDlg, add new conditions at top of list, remove duplicates and reject empty strings.

git-svn-id: trunk@55954 -
This commit is contained in:
wp 2017-10-01 18:01:38 +00:00
parent 84fee411a5
commit ced51791c2
2 changed files with 136 additions and 129 deletions

View File

@ -15,15 +15,15 @@ object BreakPropertyDlg: TBreakPropertyDlg
ClientWidth = 450 ClientWidth = 450
Constraints.MinWidth = 450 Constraints.MinWidth = 450
Position = poScreenCenter Position = poScreenCenter
LCLVersion = '1.7' LCLVersion = '1.9.0.0'
object lblFileName: TLabel object lblFileName: TLabel
AnchorSideLeft.Control = Owner AnchorSideLeft.Control = Owner
AnchorSideTop.Control = edtFilename AnchorSideTop.Control = edtFilename
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 11 Top = 10
Width = 65 Width = 51
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Filename:' Caption = 'Filename:'
@ -34,9 +34,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLine AnchorSideTop.Control = edtLine
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 44 Top = 39
Width = 32 Width = 25
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Line:' Caption = 'Line:'
@ -47,9 +47,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCondition AnchorSideTop.Control = edtCondition
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 138 Top = 118
Width = 70 Width = 56
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Condition:' Caption = 'Condition:'
@ -60,9 +60,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCounter AnchorSideTop.Control = edtCounter
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 172 Top = 147
Width = 62 Width = 50
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Hitcount:' Caption = 'Hitcount:'
@ -73,9 +73,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = cmbGroup AnchorSideTop.Control = cmbGroup
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 239 Top = 205
Width = 46 Width = 36
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Group:' Caption = 'Group:'
@ -86,9 +86,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtAutocontinueMS AnchorSideTop.Control = edtAutocontinueMS
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 205 Top = 176
Width = 131 Width = 103
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Auto continue after' Caption = 'Auto continue after'
@ -99,10 +99,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = lblAutoContinue AnchorSideTop.Control = lblAutoContinue
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 233 Left = 205
Height = 17 Height = 15
Top = 205 Top = 176
Width = 30 Width = 24
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = '(ms)' Caption = '(ms)'
ParentColor = False ParentColor = False
@ -113,9 +113,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtCounter AnchorSideTop.Control = edtCounter
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 27 Height = 23
Top = 200 Top = 172
Width = 60 Width = 60
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -129,10 +129,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 27 Height = 23
Top = 167 Top = 143
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -145,10 +145,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = Owner AnchorSideTop.Control = Owner
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 27 Height = 23
Top = 6 Top = 6
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -164,14 +164,14 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 29 Height = 23
Top = 233 Top = 201
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
OnKeyPress = cmbGroupKeyPress OnKeyPress = cmbGroupKeyPress
TabOrder = 7 TabOrder = 7
Text = 'cmbGroup' Text = 'cmbGroup'
@ -183,23 +183,23 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 6 Left = 6
Height = 244 Height = 215
Top = 268 Top = 230
Width = 438 Width = 438
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Actions' Caption = 'Actions'
ClientHeight = 225 ClientHeight = 195
ClientWidth = 434 ClientWidth = 434
TabOrder = 8 TabOrder = 8
object chkActionBreak: TCheckBox object chkActionBreak: TCheckBox
AnchorSideLeft.Control = gbActions AnchorSideLeft.Control = gbActions
AnchorSideTop.Control = gbActions AnchorSideTop.Control = gbActions
Left = 6 Left = 6
Height = 24 Height = 19
Top = 6 Top = 6
Width = 65 Width = 49
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Break' Caption = 'Break'
TabOrder = 0 TabOrder = 0
@ -209,9 +209,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtEnableGroups AnchorSideTop.Control = edtEnableGroups
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 24 Height = 19
Top = 37 Top = 33
Width = 115 Width = 91
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Enable goups' Caption = 'Enable goups'
@ -223,9 +223,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtDisableGroups AnchorSideTop.Control = edtDisableGroups
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 24 Height = 19
Top = 70 Top = 62
Width = 126 Width = 98
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Disable groups' Caption = 'Disable groups'
@ -239,10 +239,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edtEvalExpression AnchorSideRight.Control = edtEvalExpression
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 156 Left = 125
Height = 27 Height = 23
Top = 36 Top = 31
Width = 272 Width = 303
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -263,10 +263,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = edtEvalExpression AnchorSideRight.Control = edtEvalExpression
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 156 Left = 125
Height = 27 Height = 23
Top = 69 Top = 60
Width = 272 Width = 303
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -285,9 +285,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtEvalExpression AnchorSideTop.Control = edtEvalExpression
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 24 Height = 19
Top = 103 Top = 91
Width = 130 Width = 99
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Eval expression' Caption = 'Eval expression'
@ -299,9 +299,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogMessage AnchorSideTop.Control = edtLogMessage
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 24 Height = 19
Top = 136 Top = 120
Width = 113 Width = 89
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Right = 6 BorderSpacing.Right = 6
Caption = 'Log message' Caption = 'Log message'
@ -315,10 +315,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbActions AnchorSideRight.Control = gbActions
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 156 Left = 125
Height = 27 Height = 23
Top = 102 Top = 89
Width = 272 Width = 303
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -334,10 +334,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = gbActions AnchorSideRight.Control = gbActions
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 156 Left = 125
Height = 27 Height = 23
Top = 135 Top = 118
Width = 272 Width = 303
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -351,9 +351,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogCallStack AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 24 Height = 19
Top = 169 Top = 149
Width = 116 Width = 91
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'Log call stack' Caption = 'Log call stack'
OnChange = chkLogCallStackChange OnChange = chkLogCallStackChange
@ -364,9 +364,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edtLogMessage AnchorSideTop.Control = edtLogMessage
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 156 Left = 125
Height = 27 Height = 23
Top = 168 Top = 147
Width = 50 Width = 50
BorderSpacing.Left = 20 BorderSpacing.Left = 20
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@ -380,10 +380,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = edtLogCallStack AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 212 Left = 181
Height = 17 Height = 15
Top = 173 Top = 151
Width = 139 Width = 108
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'lblLogCallStackLimit' Caption = 'lblLogCallStackLimit'
ParentColor = False ParentColor = False
@ -393,9 +393,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtLogCallStack AnchorSideTop.Control = edtLogCallStack
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 24 Height = 19
Top = 201 Top = 176
Width = 113 Width = 90
BorderSpacing.Left = 6 BorderSpacing.Left = 6
BorderSpacing.Top = 6 BorderSpacing.Top = 6
Caption = 'chkTakeSnap' Caption = 'chkTakeSnap'
@ -406,8 +406,8 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = gbActions AnchorSideTop.Control = gbActions
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 6 Left = 6
Height = 53 Height = 120
Top = 518 Top = 451
Width = 438 Width = 438
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
OKButton.Name = 'OKButton' OKButton.Name = 'OKButton'
@ -432,14 +432,14 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 29 Height = 23
Top = 132 Top = 114
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
ItemHeight = 0 ItemHeight = 15
TabOrder = 4 TabOrder = 4
Text = 'edtCondition' Text = 'edtCondition'
end end
@ -449,9 +449,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = edtFilename AnchorSideTop.Control = edtFilename
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 27 Height = 23
Top = 39 Top = 35
Width = 60 Width = 60
BorderSpacing.Left = 24 BorderSpacing.Left = 24
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@ -465,10 +465,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 24 Height = 19
Top = 72 Top = 64
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Left = 24 BorderSpacing.Left = 24
@ -479,34 +479,34 @@ object BreakPropertyDlg: TBreakPropertyDlg
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3 ChildSizing.ControlsPerLine = 3
ClientHeight = 24 ClientHeight = 19
ClientWidth = 277 ClientWidth = 305
TabOrder = 2 TabOrder = 2
Visible = False Visible = False
object rbWrite: TRadioButton object rbWrite: TRadioButton
Left = 6 Left = 6
Height = 24 Height = 19
Top = 0 Top = 0
Width = 79 Width = 59
Caption = 'rbWrite' Caption = 'rbWrite'
Checked = True Checked = True
TabOrder = 0 TabOrder = 0
TabStop = True TabStop = True
end end
object rbRead: TRadioButton object rbRead: TRadioButton
Left = 88 Left = 68
Height = 24 Height = 19
Top = 0 Top = 0
Width = 75 Width = 57
BorderSpacing.Left = 3 BorderSpacing.Left = 3
Caption = 'rbRead' Caption = 'rbRead'
TabOrder = 1 TabOrder = 1
end end
object rbReadWrite: TRadioButton object rbReadWrite: TRadioButton
Left = 166 Left = 128
Height = 24 Height = 19
Top = 0 Top = 0
Width = 113 Width = 85
BorderSpacing.Left = 3 BorderSpacing.Left = 3
Caption = 'rbReadWrite' Caption = 'rbReadWrite'
TabOrder = 2 TabOrder = 2
@ -519,10 +519,10 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = Owner AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 167 Left = 139
Height = 24 Height = 19
Top = 102 Top = 89
Width = 277 Width = 305
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
AutoSize = True AutoSize = True
BorderSpacing.Left = 24 BorderSpacing.Left = 24
@ -533,32 +533,32 @@ object BreakPropertyDlg: TBreakPropertyDlg
ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.ShrinkVertical = crsScaleChilds
ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.Layout = cclLeftToRightThenTopToBottom
ChildSizing.ControlsPerLine = 3 ChildSizing.ControlsPerLine = 3
ClientHeight = 24 ClientHeight = 19
ClientWidth = 277 ClientWidth = 305
TabOrder = 3 TabOrder = 3
Visible = False Visible = False
object rbGlobal: TRadioButton object rbGlobal: TRadioButton
Left = 6 Left = 6
Height = 24 Height = 19
Top = 0 Top = 0
Width = 85 Width = 65
Caption = 'rbGlobal' Caption = 'rbGlobal'
Checked = True Checked = True
TabOrder = 0 TabOrder = 0
TabStop = True TabStop = True
end end
object rbLocal: TRadioButton object rbLocal: TRadioButton
Left = 94 Left = 74
Height = 24 Height = 19
Top = 0 Top = 0
Width = 77 Width = 59
BorderSpacing.Left = 3 BorderSpacing.Left = 3
Caption = 'rbLocal' Caption = 'rbLocal'
TabOrder = 1 TabOrder = 1
end end
object Label1: TLabel object Label1: TLabel
Left = 171 Left = 133
Height = 24 Height = 19
Top = 0 Top = 0
Width = 3 Width = 3
Caption = ' ' Caption = ' '
@ -570,9 +570,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = rgWatchKind AnchorSideTop.Control = rgWatchKind
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 76 Top = 66
Width = 90 Width = 71
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'lblWatchKind' Caption = 'lblWatchKind'
ParentColor = False ParentColor = False
@ -583,9 +583,9 @@ object BreakPropertyDlg: TBreakPropertyDlg
AnchorSideTop.Control = rgWatchScope AnchorSideTop.Control = rgWatchScope
AnchorSideTop.Side = asrCenter AnchorSideTop.Side = asrCenter
Left = 6 Left = 6
Height = 17 Height = 15
Top = 106 Top = 91
Width = 101 Width = 79
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'lblWatchScope' Caption = 'lblWatchScope'
ParentColor = False ParentColor = False

View File

@ -276,8 +276,15 @@ begin
FBreakpoint.LogMessage := edtLogMessage.Text; FBreakpoint.LogMessage := edtLogMessage.Text;
FBreakpoint.LogCallStackLimit := edtLogCallStack.Value; FBreakpoint.LogCallStackLimit := edtLogCallStack.Value;
InputHistories.HistoryLists.GetList('BreakPointExpression', True, if edtCondition.Text <> '' then
rltCaseSensitive).Add(edtCondition.Text); with InputHistories.HistoryLists.GetList('BreakPointExpression',
True, rltCaseSensitive) do
begin
i := IndexOf(edtCondition.Text);
if i <> -1 then Delete(i);
Insert(0, edtCondition.Text);
end;
finally finally
EnableGroupList.Free; EnableGroupList.Free;
DisableGroupList.Free; DisableGroupList.Free;