mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Fix "abstract error" when clicking "delete" button on data sorting dialog, caused by free'd button in its OnClick event.
This commit is contained in:
@ -76,4 +76,11 @@ object DataSortingForm: TDataSortingForm
|
|||||||
OnClick = btnResetClick
|
OnClick = btnResetClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object timerRefresh: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 100
|
||||||
|
OnTimer = DisplaySortingControls
|
||||||
|
Left = 8
|
||||||
|
Top = 8
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@ -15,6 +15,7 @@ type
|
|||||||
btnCancel: TButton;
|
btnCancel: TButton;
|
||||||
btnAddCol: TButton;
|
btnAddCol: TButton;
|
||||||
btnReset: TButton;
|
btnReset: TButton;
|
||||||
|
timerRefresh: TTimer;
|
||||||
procedure btnAddColClick(Sender: TObject);
|
procedure btnAddColClick(Sender: TObject);
|
||||||
procedure btnCancelClick(Sender: TObject);
|
procedure btnCancelClick(Sender: TObject);
|
||||||
procedure btnOKClick(Sender: TObject);
|
procedure btnOKClick(Sender: TObject);
|
||||||
@ -23,12 +24,12 @@ type
|
|||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure btnResetClick(Sender: TObject);
|
procedure btnResetClick(Sender: TObject);
|
||||||
|
procedure DisplaySortingControls(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
ColumnNames : TStringList;
|
ColumnNames : TStringList;
|
||||||
OrderColumns : TOrderColArray;
|
OrderColumns : TOrderColArray;
|
||||||
OldOrderClause : String;
|
OldOrderClause : String;
|
||||||
procedure DisplaySortingControls;
|
|
||||||
procedure dropdownColsChange( Sender: TObject );
|
procedure dropdownColsChange( Sender: TObject );
|
||||||
procedure buttonOrderClick( Sender: TObject );
|
procedure buttonOrderClick( Sender: TObject );
|
||||||
procedure buttonDeleteClick( Sender: TObject );
|
procedure buttonDeleteClick( Sender: TObject );
|
||||||
@ -73,7 +74,7 @@ begin
|
|||||||
OldOrderClause := ComposeOrderClause(OrderColumns);
|
OldOrderClause := ComposeOrderClause(OrderColumns);
|
||||||
|
|
||||||
// First creation of controls
|
// First creation of controls
|
||||||
DisplaySortingControls;
|
DisplaySortingControls(Sender);
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ end;
|
|||||||
{**
|
{**
|
||||||
Create controls for order columns
|
Create controls for order columns
|
||||||
}
|
}
|
||||||
procedure TDataSortingForm.DisplaySortingControls;
|
procedure TDataSortingForm.DisplaySortingControls(Sender: TObject);
|
||||||
var
|
var
|
||||||
labelNumber: TLabel;
|
labelNumber: TLabel;
|
||||||
buttonDelete: TButton;
|
buttonDelete: TButton;
|
||||||
@ -89,6 +90,12 @@ var
|
|||||||
buttonOrder: TSpeedButton;
|
buttonOrder: TSpeedButton;
|
||||||
i, xPosition, topPosition, btnWidth : Integer;
|
i, xPosition, topPosition, btnWidth : Integer;
|
||||||
begin
|
begin
|
||||||
|
if not timerRefresh.Enabled then begin
|
||||||
|
timerRefresh.Enabled := True;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
timerRefresh.Enabled := False;
|
||||||
|
|
||||||
// Remove previously created components
|
// Remove previously created components
|
||||||
for i := ComponentCount - 1 downto 0 do
|
for i := ComponentCount - 1 downto 0 do
|
||||||
@ -253,7 +260,7 @@ begin
|
|||||||
SetLength(OrderColumns, Length(OrderColumns)-1);
|
SetLength(OrderColumns, Length(OrderColumns)-1);
|
||||||
|
|
||||||
// Refresh controls
|
// Refresh controls
|
||||||
DisplaySortingControls;
|
DisplaySortingControls(Sender);
|
||||||
|
|
||||||
// Enables OK button
|
// Enables OK button
|
||||||
Modified;
|
Modified;
|
||||||
@ -291,7 +298,7 @@ begin
|
|||||||
OrderColumns[new].SortDirection := ORDER_ASC;
|
OrderColumns[new].SortDirection := ORDER_ASC;
|
||||||
|
|
||||||
// Refresh controls
|
// Refresh controls
|
||||||
DisplaySortingControls;
|
DisplaySortingControls(Sender);
|
||||||
|
|
||||||
// Enables OK button
|
// Enables OK button
|
||||||
Modified;
|
Modified;
|
||||||
|
Reference in New Issue
Block a user