lcl: override Select in TCustomDBComboBox instead of TDBComboBox to affect also TDBLookupComboBox (avoid crash when ListDataset enters in Edit state inside TDBLookup.UpdateData)

git-svn-id: trunk@33467 -
This commit is contained in:
blikblum 2011-11-11 01:02:40 +00:00
parent f54588640d
commit 190136efbb
3 changed files with 11 additions and 11 deletions

View File

@ -654,6 +654,7 @@ Type
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure Change; override;
procedure Select; override;
procedure UpdateData(Sender: TObject); virtual; abstract;
procedure WndProc(var Message: TLMessage); override;
public
@ -676,7 +677,6 @@ Type
procedure DataChange(Sender: TObject); override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: char); override;
procedure Select; override;
procedure UpdateData(Sender: TObject); override;
published
property Anchors;

View File

@ -44,6 +44,16 @@ begin
inherited Change;
end;
procedure TCustomDBComboBox.Select;
begin
//avoid reseting text when calling select
FDataLink.OnDataChange := nil;
FDataLink.Edit;
FDataLink.Modified;
FDataLink.OnDataChange := @DataChange;
inherited Select;
end;
function TCustomDBComboBox.GetReadOnly: Boolean;
begin

View File

@ -18,16 +18,6 @@
{ TDBComboBox }
procedure TDBComboBox.Select;
begin
//avoid reseting text when calling select
FDataLink.OnDataChange := nil;
FDataLink.Edit;
FDataLink.Modified;
FDataLink.OnDataChange := @DataChange;
inherited Select;
end;
procedure TDBComboBox.UpdateData(Sender: TObject);
begin
FDataLink.Field.Text := Text;