Посмотрел тут на свежую версию грида, 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 считает дату числом.
Закомментил - всё заработало как мне надо.
Это баг или ... ?