FastReport 3.10 : разные результаты пользовательс

отредактировано 04:51 Раздел: FastReport 3.0
Всем добрый день!
Столкнулся с интересной проблемой при использовании FastReport'a (3.10):
Моя функция округления:
function MyRound_2(AVal: Extended): Extended;
begin
  Result := 0.01 * Trunc(0.5 + AVal*100);
end;

которую подключил в FastReport через модуль (как в мануале написано, она появилась в списке функций) при запуске отчета в design-time выдает одно значение, а в run-time - другое !!!

Пример: в "Текст" помещаю [MyRound_2(52.925)]
в design-time: 52,93
а в run-time: 52,92

Чем можно вылечить? Мож че не так делаю?

Привожу на всяк пожарный текст модуля:
unit uMyFunctions;

interface

implementation

uses SysUtils, Classes, fs_iinterpreter;

Type
  TFunctions = class(Tobject)
  private
    function CallMethod(Instance: TObject; ClassType: TClass;
      const MethodName: String; var Params: Variant): Variant;
  public
    constructor Create;
    destructor Destroy; override;
  end;

Var
  Functions: TFunctions;

function MyRound_2(AVal: Extended): Extended;
begin
  Result := 0.01 * Trunc(0.5 + AVal*100);
end;

constructor TFunctions.Create;
begin
  with fsGLobalUnit do
  begin
    AddedBy := Self;
    AddMethod('function MyRound_2(AVal: Extended): Extended',
      CallMethod, 'My functions', 'Rounds up to 2 digits');
    AddedBy := nil;
  end;
end;

destructor TFunctions.Destroy;
begin
  if fsGlobalUnit <> nil then
    fsGlobalUnit.RemoveItems(Self);
  inherited;
end;

function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
           const MethodName: String; var Params: Variant): Variant;
begin
  if CompareStr(MethodName, 'MYROUND_2') = 0 then
    Result := MyRound_2(Params[0])
end;

initialization
  Functions := TFunctions.Create;

finalization
  Functions.Free;

end.
Такое впечатление, что где-то при передаче параметров в рантайме что-то нарушается...

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

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