Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 18 апр 2024, 14:04

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка при фильтрации дат
СообщениеДобавлено: 06 фев 2020, 13:14 
Не в сети

Зарегистрирован: 02 дек 2015, 14:42
Сообщений: 11
Посмотрел тут на свежую версию грида, 9.4.19, задумываясь об обновлении.
И что вижу - поломалась фильтрация на датах в проектах под Firebird, компоненты IBDAC. Дата конвертится в число.
Начал копаться.
В функции GetOneExpressionAsSQLWhereString из DBUtilsEh есть такой кусок -
Код:
if VarIsNumericType(v) then
    begin
        // Тут всякий код 
    end
    else if VType = varDate then

Ну а в VarIsNumericType видим следующее -
Код:
if (AVarType in [varSmallint, varInteger, varSingle, varDouble, varCurrency,
     varShortInt, varWord, varInt64, varLongWord,
      varByte, varDate]) or (AVarType = VarFMTBcd)
  then
    Result := True
  else
    Result := False;

Т.е. до ветки else if VType = varDate then дело то не дойдет, VarIsNumericType считает дату числом.

Закомментил - всё заработало как мне надо.
Это баг или ... ?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Ошибка при фильтрации дат
СообщениеДобавлено: 07 фев 2020, 00:55 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

Действительно серьезный недосмотр.
Ошибку исправим в следующей сборке.
Спасибо за информацию.

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: Bing [Bot] и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB