Передача переменных в TfrxReport.OnGetValue
Наконец, последний способ, позволяющий передать значение переменной в отчет, это использование обработчика события TfrxReport.OnGetValue. Этот способ удобен тем, что позволяет передавать динамические данные (меняющиеся от записи к записи), тогда как два предыдущих способа позволяют передавать только статические данные.
Рассмотрим применение данного способа на примере. Создадим отчет и положим на лист объект "Текст" со следующим текстом внутри:
[My Variable]
Теперь создадим обработчик события TfrxReport.OnGetValue:
procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'My Variable') = 0 then
Value := 'test'
end;
Запустив отчет, мы увидим, что переменная отображена правильно. Обработчик события OnGetValue вызывается, если в тексте обнаружена неизвестная переменная. Обработчик должен вернуть значение переменной.