Глюк в TDBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Глюк в TDBGrid

Сообщение anbsoft » 04.01.2013 01:53:42

Обнаружил следующую ошибку:
Если 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 и все в порядке,
но хотелось бы чего-то большего :) .
anbsoft
незнакомец
 
Сообщения: 9
Зарегистрирован: 23.12.2012 21:59:47

Re: Глюк в TDBGrid

Сообщение khvalera » 06.01.2013 04:42:51

Я вот пытаюсь набросать программулину которая будет юзать BufDataset... и за неделю уже отловил таких багов уже наверно пол ста, так что для Лазаря пока это нормально ;)
Зарегистрируйся на http://bugs.freepascal.org и запость баг, я с ним тоже сталкивался.
Аватара пользователя
khvalera
новенький
 
Сообщения: 57
Зарегистрирован: 29.06.2010 00:49:43

Re: Глюк в TDBGrid

Сообщение anbsoft » 06.01.2013 14:37:14

Я уже заметил что "это" для Лазаря нормально :( , что ни компонент - то сплошные глюки.
Не столько пишешь программу, сколько отлавливаешь глюки.
И самое "приятное", что при обновлениях Лазаря прийдется большинство багов заново исправлять.
Получается нужно заводить себе список исправленных глюков и проверять их все при каждом обновлении.
Недешевая цена за бесплатность получается.
А более-менее продвинутый проект вообще страшно браться писать, утонешь в исправлениях-переисправлениях :cry: .
Но ничего, дорогу осилит идущий.
anbsoft
незнакомец
 
Сообщения: 9
Зарегистрирован: 23.12.2012 21:59:47

Re: Глюк в TDBGrid

Сообщение khvalera » 06.01.2013 15:21:38

anbsoft писал(а):И самое "приятное", что при обновлениях Лазаря прийдется большинство багов заново исправлять.

Если объявишь баг, то возможно в следующих версиях его уже не будет, иногда изменения вносятся оперативно.
Но бывает и такое, что после исправления, в следующих версиях он появляется заново. :)
Аватара пользователя
khvalera
новенький
 
Сообщения: 57
Зарегистрирован: 29.06.2010 00:49:43

Re: Глюк в TDBGrid

Сообщение Максим » 06.01.2013 16:10:27

khvalera
Не вижу от вас 50 отчётов об ошибках.

anbsoft писал(а):Я уже заметил что "это" для Лазаря нормально :( , что ни компонент - то сплошные глюки.
Не столько пишешь программу, сколько отлавливаешь глюки.

Отчёт об ошибке или не было. :mrgreen:
Кстати, можно использовать FPC 2.6.1, там, по сравнению с версией 2.6.0, внесено много исправлений в модули для работы с БД.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Глюк в TDBGrid

Сообщение khvalera » 06.01.2013 18:16:47

Максим писал(а):khvalera
Не вижу от вас 50 отчётов об ошибках.

... то что можно было обойти костылями, правил ими, так как не было времени совсем. Со временем обязательно создам.

Максим писал(а): Кстати, можно использовать FPC 2.6.1, там, по сравнению с версией 2.6.0, внесено много исправлений в модули для работы с БД.

... а в FPC 2.6.2 еще меньше, но и там их я Вам скажу больше чем достаточно. :)
Аватара пользователя
khvalera
новенький
 
Сообщения: 57
Зарегистрирован: 29.06.2010 00:49:43

Re: Глюк в TDBGrid

Сообщение Максим » 06.01.2013 19:31:17

khvalera писал(а):... а в FPC 2.6.2 еще меньше, но и там их я Вам скажу больше чем достаточно. :)

FPC 2.6.2 ещё нет в природе. А об ошибках сообщайте, и чем раньше, тем лучше. Уверяю, сейчас есть все условия для их быстрого исправления. :)
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Глюк в TDBGrid

Сообщение khvalera » 06.01.2013 19:43:39

Максим писал(а):FPC 2.6.2 ещё нет в природе.

RC1: ftp://ftp.freepascal.org/pub/fpc/beta/2.6.2-rc1/ :)
Аватара пользователя
khvalera
новенький
 
Сообщения: 57
Зарегистрирован: 29.06.2010 00:49:43

Re: Глюк в TDBGrid

Сообщение Максим » 06.01.2013 19:47:47

Это кандидат в релизы, так что, не совсем то, хотя и близко. :)
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Глюк в TDBGrid

Сообщение amateur » 07.01.2013 13:26:57

лазарь "похож" на дельфи. И то что сделано, и как сделано в дельфине не должно быть в лазаре. Решение должно быть не похожим на дельфиновский вариант.
Иначе вариант посыла, вплоть до суда, гарантировано. Хотя для личного использование к.з....

Поэтому:
Глянул в Delphi, та обработчик ... В Лазаре этого нет.
и не должно быть...

но хотелось бы чего-то большего
предложите свой вариант...

Уверяю, сейчас есть все условия для их быстрого исправления.
А в чем отличие от сейчас и до ?
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Глюк в TDBGrid

Сообщение Максим » 07.01.2013 19:25:44

amateur писал(а):лазарь "похож" на дельфи. И то что сделано, и как сделано в дельфине не должно быть в лазаре. Решение должно быть не похожим на дельфиновский вариант.
Иначе вариант посыла, вплоть до суда, гарантировано. Хотя для личного использование к.з....

Поэтому:

Глянул в Delphi, та обработчик ... В Лазаре этого нет.

и не должно быть...

Да щаз.

amateur писал(а):А в чем отличие от сейчас и до ?

"До" не было нескольких разработчиков, активно пилящих подсистему БД в FPC.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Глюк в TDBGrid

Сообщение amateur » 08.01.2013 00:18:51

Да щаз.


Хоть щаз, хоть не щас. А код из дельфи использовать -ТАБУ для лазаря (примеры явного передирания уже были...)...

"До" не было нескольких разработчиков, активно пилящих подсистему БД в FPC.
- :? интересно: че они раньше делали.
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Глюк в TDBGrid

Сообщение Максим » 08.01.2013 02:57:36

Вы действительно не понимаете разницы между копированием кода и созданием независимой совместимой по интерфейсу реализации или прикидываетесь?
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Глюк в TDBGrid

Сообщение amateur » 08.01.2013 11:05:29

судя по теме: человек взял, посмотрел в дельфи и, скопировав код, вставил в лазарь.

Хотя: если данный момент является
созданием независимой совместимой по интерфейсу реализации
то я тогда прикидываюсь...

Но скопировав решил узнать: правильно ли это.

Ответ НЕТ. Но для личного пользования подойдут любые "грабли"...
Аватара пользователя
amateur
энтузиаст
 
Сообщения: 552
Зарегистрирован: 03.08.2007 10:15:32

Re: Глюк в TDBGrid

Сообщение Максим » 08.01.2013 17:43:55

Человек сообщил о проблеме и, для иллюстрации поведения Delphi в данной ситуации, привёл одну строчку кода, на которую, в силу её тривиальности, авторское право не распространяется (таких конструкций в большинстве программ огромное множество и в большинстве случаев их вид практически однозначно диктуется архитектурой программы). При этом вполне возможно, что в Lazarus добуквенного копирования даже такой тривиальной строчки не получится в силу отличий в реализации (а если и получится, то тем очевиднее её тривиальность).

Вы же полезли куда-то в дебри с намёками о том, что искомого поведения в Lazarus они никогда не получат (по крайней мере именно это следует из вашего поста). Зачем? Вы хотите запутать людей?
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 599
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 234

Рейтинг@Mail.ru