Выгрузка отчета

отредактировано September 2005 Раздел: FreeReport
Недавно установил FreeReport, очень порадовали многие вещи, однако возникла такая проблема в работе.
Совершенно непонятно как выгрузить отработанный отчет из рабочего потока, таким образом чтобы потом возможно было его использование заново. Т.е. при работе приложения в котором используется сразу много различных отчетов, после закрытия одного отчета и вызова другого процедурой frReportn.ShowReport сначала открывается прошлый отчет и уже только после закрытия этого отчета идет отработка нового. Было замечено что таких "фантомных" отчетов может существовать только 3, в дальнейшем они сами отваливаются. При отработке тогоже отчета но с другими значениями такого не происходит.
Обычный Destroy-Create не получается использовать в полной мере.
Возможно упустил какое-то простое свойство.
Если кто знает пишите, буду очень благодарен так как сижу над этой проблемой уже несколько дней.
;)

Комментарии

  • отредактировано 23:48
    Покажите код.
    Как вы загружаете, формируете и показываете отчеты.
  • отредактировано 23:48
    Все отчеты сформированы статично по причине очень большого количества различных параметров необходимых для вывода и соответсвенно очень большого количества различных по настройкам отчетов.
    данные из базы идут по цепочке Query -> frDBDataSet->frReport
    при выборе определенных условий на форме в нужную связку передаются параметры после чего отчет открывается frReport.ShowReport.
    пробовал различные процедуры типа фри но они естественно убивают компонент полностью а необходима возможность его дальнейшего функционирования.
    после destroy-create отчет не вызывается как я понимаю по причине сброса настроек компонента.
  • отредактировано 23:48
    написал:
    Все отчеты сформированы статично по причине очень большого количества различных параметров необходимых для вывода и соответсвенно очень большого количества различных по настройкам отчетов.
    Фразу не понял.

    Еще раз прошу покажите код. Когда и в каком порядке вы делаете LoadReport, Prepare, ShowPrepared и пр.
  • отредактировано 23:48
    Возможно не очень понимаю процедуры LoadReport и Prepare.
    Их не использовал. Инициализация компонентов происходит в момент создания формы. В дальнейшем используеься просто такая связка:

    DN.Query14.Params[0].Value := DateTimePicker1.Date;
    DN.Query14.Params[1].Value := DateTimePicker2.Date;
    DN.Query14.Params[2].Value := DateTimePicker1.Date;
    DN.Query14.Params[3].Value := DateTimePicker2.Date;
    DN.frReport14.ShowReport;

    Сам понимаю что необходимой выгрузки из памяти нет. Но почему при вызове
    frReport14.ShowReport;
    сначало открывается какой нибудь frReport12 не понимаю это ведь абсолютно разные компоненты связанные тока общим классом.

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

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