Переменные отчета: как долго живут изменения

отредактировано 10:24 Раздел: FastReport 3.0
Храню отчеты в базе данных. Некоторые особенности конкретных отчетов записываю в переменные отчета. Запись происходит в диалоговой форме, входящей в состав отчета, то есть изменения в переменных отчета вносятся в момент его генерации.

То, что переменные изменяются, я хорошо вижу: они присутствуют в тексте.

Сразу после подготовки отчета я записываю его в поле таблицы БД. Но обнаруживаю, что переменные отчета имеют не те значения, что внесены в диалоговой форме, а первоначальные, установленные при дизайне отчета.

Последовательность моих действий такова:

1) report.prepareReport

2) report.SaveToStream

3) report.Export(...)

Все работает, НО: изменившиеся значения переменных
отчета не сохраняются.

Подскажите, что не так.
Заранее благодарен.

Комментарии

  • отредактировано 10:24
    написал:
    Подскажите, что не так.
    Всё правильно делаете.
  • отредактировано 10:24
    написал:
    написал:
    Подскажите, что не так.
    Всё правильно делаете.
    Да, но почему же я получаю значения переменных, которые в отчете заданы изначально, а не те, которые отредактированы.
  • отредактировано 10:24
    Переменные хранятся в шаблоне. Я так понимаю шаблон вы не меняете. Поэтому переменные и не меняются.
  • отредактировано 10:24
    написал:
    Переменные хранятся в шаблоне. Я так понимаю шаблон вы не меняете. Поэтому переменные и не меняются.
    Дело в том, что я, учитывая это, пробовал сохранять отдельно переменные:

    report.variables.saveToStream

    и получал тот же результат: в потоке я видел стандарное xml-описание значений переменных, где было указано ИХ ПЕРВОНАЧАЛЬНОЕ ЗНАЧЕНИЕ, а не то, которое только что ввел пользователь!

    Может быть, я непрозрачно поясняю проблему, попробую еще раз:

    как сохранить из делфийского кода значения переменных только что подготовленного отчета, если эти значения переменных изменялись в процессе подготовки отчета в диалоговой форме, которая является частью отчета?
  • отредактировано 10:24
    Попробуйте перед запуском отчета сделать:
    frxReport1.EngineOptions.DestroyForms := False
  • отредактировано 10:24
    AlexTZ написал:
    Попробуйте перед запуском отчета сделать:
    frxReport1.EngineOptions.DestroyForms := False
    Помогло! Спасибо большое!

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

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