Я временно внес изменения, добавил в TDBComboBox:
- Код: Выделить всё
//Добавил WMKillFocus со следующим содержимым
procedure TCustomDBComboBox.WMKillFocus(var Message: TLMKillFocus);
begin
inherited WMKillFocus(Message);
if FDatalink.Editing then
begin
FDatalink.UpdateRecord;
end
else
FDatalink.Reset;
end;
procedure TCustomDBComboBox.CloseUp;
begin
if [csLoading,csDestroying,csDesigning]*ComponentState<>[] then exit;
if FDetectedEvents and DBCBEVENT_CHANGE = 0 then
DoOnCloseUp
else
FDetectedEvents := FDetectedEvents or DBCBEVENT_CLOSEUP;
SetFocus; //Добавил эту запись, без неё WMKillFocus вообще не происходит
end;
Пересобрал Lazarus с этими изменениями, так оно работает.
Это только у меня так?