Ошибка преобразования (Double) в (Integer)
Есть отчет использующий DataSet. В отчете осуществляется группировка по двум полям. Условие группировки в Group header "[OraQueryMaster."PR"] AND [OraQueryMaster."CURR_CODE"]". В момент создания отчета генерируются следующие ошибки:
1. Класс ERangeError "Ошибка выхода за границы (Range check)"
2. Класс EVariantOverflowError "Переполнение при преобразовании вариантного типа (Double) в тип (Integer)"
Ошибка возникает в модуле FR_Pars в функции TfrParser.CalcOPZ вот в этом месте:
case s of
'+':
nm[st - 2] := nm[st - 2] + nm[st - 1];
ttOr:
nm[st - 2] := nm[st - 2] or nm[st - 1];
'-':
nm[st - 2] := nm[st - 2] - nm[st - 1];
'*':
nm[st - 2] := nm[st - 2] * nm[st - 1];
ttAnd:
nm[st - 2] := nm[st - 2] and nm[st - 1];
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Значения: nm[st - 2] - 10010000110985
nm[st - 1] - 985
Как быть?
1. Класс ERangeError "Ошибка выхода за границы (Range check)"
2. Класс EVariantOverflowError "Переполнение при преобразовании вариантного типа (Double) в тип (Integer)"
Ошибка возникает в модуле FR_Pars в функции TfrParser.CalcOPZ вот в этом месте:
case s of
'+':
nm[st - 2] := nm[st - 2] + nm[st - 1];
ttOr:
nm[st - 2] := nm[st - 2] or nm[st - 1];
'-':
nm[st - 2] := nm[st - 2] - nm[st - 1];
'*':
nm[st - 2] := nm[st - 2] * nm[st - 1];
ttAnd:
nm[st - 2] := nm[st - 2] and nm[st - 1];
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Значения: nm[st - 2] - 10010000110985
nm[st - 1] - 985
Как быть?
Комментарии
В дизайнере
Пиши так: