Выгрузка отчета
Недавно установил FreeReport, очень порадовали многие вещи, однако возникла такая проблема в работе.
Совершенно непонятно как выгрузить отработанный отчет из рабочего потока, таким образом чтобы потом возможно было его использование заново. Т.е. при работе приложения в котором используется сразу много различных отчетов, после закрытия одного отчета и вызова другого процедурой frReportn.ShowReport сначала открывается прошлый отчет и уже только после закрытия этого отчета идет отработка нового. Было замечено что таких "фантомных" отчетов может существовать только 3, в дальнейшем они сами отваливаются. При отработке тогоже отчета но с другими значениями такого не происходит.
Обычный Destroy-Create не получается использовать в полной мере.
Возможно упустил какое-то простое свойство.
Если кто знает пишите, буду очень благодарен так как сижу над этой проблемой уже несколько дней.
Совершенно непонятно как выгрузить отработанный отчет из рабочего потока, таким образом чтобы потом возможно было его использование заново. Т.е. при работе приложения в котором используется сразу много различных отчетов, после закрытия одного отчета и вызова другого процедурой frReportn.ShowReport сначала открывается прошлый отчет и уже только после закрытия этого отчета идет отработка нового. Было замечено что таких "фантомных" отчетов может существовать только 3, в дальнейшем они сами отваливаются. При отработке тогоже отчета но с другими значениями такого не происходит.
Обычный Destroy-Create не получается использовать в полной мере.
Возможно упустил какое-то простое свойство.
Если кто знает пишите, буду очень благодарен так как сижу над этой проблемой уже несколько дней.
Комментарии
Как вы загружаете, формируете и показываете отчеты.
данные из базы идут по цепочке Query -> frDBDataSet->frReport
при выборе определенных условий на форме в нужную связку передаются параметры после чего отчет открывается frReport.ShowReport.
пробовал различные процедуры типа фри но они естественно убивают компонент полностью а необходима возможность его дальнейшего функционирования.
после destroy-create отчет не вызывается как я понимаю по причине сброса настроек компонента.
Еще раз прошу покажите код. Когда и в каком порядке вы делаете LoadReport, Prepare, ShowPrepared и пр.
Их не использовал. Инициализация компонентов происходит в момент создания формы. В дальнейшем используеься просто такая связка:
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 не понимаю это ведь абсолютно разные компоненты связанные тока общим классом.