Как вернуть очет в исходный вид

отредактировано April 2011 Раздел: FastReport 4.0
Замучался с простой проблемой.
У меня есть отчет frxReport1. В нем, предположим, 1 поле Memo1.

В программе есть функция, которая вызывает этот отчет, и в элемент Memo1 вбивает нужную информацию.

Вот так:
(frxReport1.FindObject('Memo1') as TfrxMemoView).memo.text:='Какой-то текст';

Теперь вопрос. После внесения изменений, как мне очистить отчет, т.е. вернуть его в исходное состояние, когда Memo1 было пустым.
Вопрос возник, т.к. в моем отчете таких полей очень много и нужна 1 команда, которая как бы очистит этот отчет.

Комментарии

  • xlaalaaxlaalaa Минск
    отредактировано April 2011
    Костыль конечно. Но вы можете в самом начале сохранить шаблон отчета в TMemoryStream.
      strm := TMemoryStream.Create();
      frxReport1.SaveToStream(strm);
    

    А потом восстанавливать его каждый раз когда вам надо
      strm.Seek(0, soFromBeginning);
      frxReport1.Clear;
      frxReport1.LoadFromStream(strm);
    

    В конце не забудьте прочистить память.
      FreeAndNil(strm);
    
  • gpigpi
    отредактировано 06:47
    Ещё можно хранить шаблоны отчётов в файлах и перегружать шаблон при необходимости
  • отредактировано April 2011
    Спасибо за подсказку, насчет TMemoryStream.
    А насчет файла - не очень удобно с ним возится в моей задаче.
    А подскажите, если динамически создавать новый объект типа TfrxReport, копировать туда уже существующий frxReport1, а потом убивать этот объект. Можно ли так и как правильно это сделать?
  • xlaalaaxlaalaa Минск
    отредактировано 06:47
    также через стрим
  • отредактировано 06:47
    Ок. спасибо.

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

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