Параметры Tfsrttimodule.callmethod

mvbmvb Казань
отредактировано 18:17 Раздел: FastReport 4.0
Сделал подключаемую функцию:
function frSumToText(Sum: Currency): string;
begin
     Result := .......;
end;

{ TFunctions }

function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
  const MethodName: String; var Params: Variant): Variant;
begin
     if not VarIsArray(Params) or VarIsNull(Params[0]) then
       exit;

     if MethodName = 'FRSUMTOTEXT' then
      Result := frSumToText(Params[0])
end;
в отчете в футере бенда вставляю конструкцию:
[frSumToText([SUM(<qChEx."SUM_USLF">*1)])]
при прогоне вылазит ошибка
написал:
Memo54: Could not convert variant of type (Array Variant) into type (Currency)
Откуда в Params[0] берется другой массив - непонятно. Приходится писАть frSumToText(Params[0][0]). В этом же модуле есть еще несколько функций, все они используют Params[0].

Комментарии

  • gpigpi
    отредактировано 18:17
    Попробуйте
    [frSumToText(SUM(<qChEx."SUM_USLF">*1))]
  • mvbmvb Казань
    отредактировано 18:17
    да, так нормально, спасибо! В моем варианте, получается, синтаксис неправильный? А почему ФР его пропускает?

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

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