Если Dataset (в моем случае TIBQiery из набора IBX) неактивен,
то нажатие клавиш Tab, Page Up, Page Down, Enter вызывает исключение EDatabaseError Operation can not be performed on an inactive dataset.
Насколько я понимаю, TDBGrid пытается выполнять манипуляции с датасетом не проверяя его активности,
а это ошибка в исходниках компонента.
Я только неделя как сел за Lazarus, как быть в таком случае?
Читал что можно как-то отправить запрос или патч разработчикам, но пока не уверен что смогу все правильно сделать.
Я конечно могу покопаться в исходниках и исправить ошибку, но как это сделать с пользой для других?
Lazarus 1.0.4 FPC 2.6.0
Добавлено спустя 7 минут 2 секунды:
Глянул в Delphi, та обработчик TCustomDBGrid.KeyDown начинается с проверки
- Код: Выделить всё
if not FDatalink.Active or not CanGridAcceptKey(Key, Shift) then Exit;
В Лазаре этого нет.
Добавлено спустя 4 минуты 27 секунд:
Пока для себя добавил указанный выше код в начало обработчика TCustomDBGrid.KeyDown и все в порядке,
но хотелось бы чего-то большего
