Проблемы с DataBand

отредактировано 18:18 Раздел: FastReport Studio
В общем ситуация такая :
Есть приложение на c#, в нём есть несколько текстовых переменных var1 и var2 и DataTable dt ... все они чем то наполнены. Когда хочу их вывести в свой отчёт вызывается функция типа :
private TfrxReportClass rep;
private FrxDataTable fdt;
private void PrepareAndShowReport()
{
rep = new TfrxReportClass();
rep.LoadReportFromFile("MyRep.fr3");
fdt = new FrxDataTable("MyTable");
FillFDT(); // Функция которая добавляет columns в fdt и заполняет её на основе dt
fdt.AssignToReport(true,rep);
rep.SetVariable(rep, "'"+var1+"'");
rep.SetVariable(rep, "'"+var2+"'");
rep.PreviewOptions.Modal = false;
rep.ShowReport();

}
При первом вызове всё нормально с отчётом ... при последующих в отчёте в Databand показываются те данные, которые были в fdt при первом вызове.
с var1 и var2 всё ОК.
Чтобы получить нужный отчёт приходится перезапускать приложение каждый раз.

Что мне нада сделать чтобы не возникало такой проблемы ?


Комментарии

  • almanalman космополит
    отредактировано 18:18
    перед выходом из функции добавить:

    rep = null
    fdt = null

    а затем запустить сборщик мусора.

    Можно поступить и другим способом - держать только одну копию TfrxReport() и исключить одновременное использование нескольких frxDataTable с одинаковым именем.

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

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