diff --git a/lcl/dbctrls.pp b/lcl/dbctrls.pp index 76996a9ee7..2bd44d42c4 100644 --- a/lcl/dbctrls.pp +++ b/lcl/dbctrls.pp @@ -450,6 +450,7 @@ Type procedure DataChange(Sender: TObject); override; procedure DoSelectionChange(User: Boolean); override; procedure InitializeWnd; override; + procedure DestroyWnd; override; procedure KeyDown(var Key: Word; Shift: TShiftState); override; procedure Loaded; override; procedure UpdateData(Sender: TObject); override; @@ -799,6 +800,7 @@ Type protected procedure CloseUp; override; procedure InitializeWnd; override; + procedure DestroyWnd; override; procedure KeyDown(var Key: Word; Shift: TShiftState); override; procedure Loaded; override; procedure UpdateData(Sender: TObject); override; diff --git a/lcl/include/dblookupcombobox.inc b/lcl/include/dblookupcombobox.inc index 3474701f42..868ad59c89 100644 --- a/lcl/include/dblookupcombobox.inc +++ b/lcl/include/dblookupcombobox.inc @@ -57,6 +57,13 @@ begin Text := ''; end; +procedure TDBLookupComboBox.DestroyWnd; +begin + inherited; + //after handle destroy Items address changes + FLookup.ControlItems := Items; +end; + procedure TDBLookupComboBox.Select; begin FDataLink.UpdateData; diff --git a/lcl/include/dblookuplistbox.inc b/lcl/include/dblookuplistbox.inc index b9a82cc801..a0e751cba1 100644 --- a/lcl/include/dblookuplistbox.inc +++ b/lcl/include/dblookuplistbox.inc @@ -44,6 +44,13 @@ begin ItemIndex := -1; end; +procedure TDBLookupListBox.DestroyWnd; +begin + inherited; + //after handle destroy Items address changes + FLookup.ControlItems := Items; +end; + procedure TDBLookupListBox.DoSelectionChange(User: Boolean); begin if User then