Ф-ция MIN и MAX в Delphi 7 не работают с датой

отредактировано 05:22 Раздел: FastReport 2.xx VCL
Переход с Delphi5 на Delphi7 Перестала работать ф-ция MIN и MAX по полю
формата Дата. ;)
Среда OS win2k SP4, FastReport 2.56, Delphi 7 build 8.1.
Ошибка такая Overflow while converting variant of type (Double) into type
(Date).

Комментарии

  • gpigpi
    отредактировано 05:22
    написал:
    а ошибка возникает вот из-за чего:
    unit FR_Class

    procedure TfrBand.InitValues;
    ..
    if Ord(t[1]) <> atMin then
    v := 0 else
    v := 1e300;
    ..

    procedure TfrStdFunctionLibrary.DoFunction(FNo: Integer; p1, p2, p3: Variant;
    var val: Variant);
    ..
    if at = atMin then
    v := 1e300 else
    v := 0;
    ..

    Здесь ошибка и возникает:
    procedure TfrBand.DoAggregate;
    ..
    if Visible or (s2 = '1') then
    case at of
    atSum, atAvg: v := v + d;
    atMin: if d < v then v := d;
    atMax: if d > v then v := d;
    atCount: v := v + 1;
    end;
    ..
    а для даты 1е300 многовато будет.

    Можно попробовать 1е300 поменять на null, procedure TfrBand.DoAggregate модифицировать:
    {if v = Null then //fix comment
    v := 0;}
    if d = Null then
    d := 0;
    if Visible or (s2 = '1') then
    case at of
    atSum, atAvg: v := v + d;
    //fix begin
    atMin: if v=null then
    v := d
    else
    if d < v then v := d;
    //fix end
    atMax: if d > v then v := d;
    atCount: v := v + 1;
    end;
    http://forum.ru-board.com/topic.cgi?forum=...c=5647&start=80
  • отредактировано 05:22
    Понятно.
    Вообщем ф-ция MIN с датой больше не работает.
    Интересно что еще не работает в Delphi 7?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.