Страница 1 из 1

Про загрузку отчетов из dll файла.

Добавлено: 16 окт 2006, 23:16
Evgeny
Я использую пример из темы

How to speed up report creation and design

Код: Выделить всё

string reportName = "MyReport.mrt";
string reportDllName = "MyReport.dll";

StiReport report = null;

// if assemblies of the report no on disk
if (!File.Exists(reportDllName))
{
  // load report from file
  report = new StiReport();
  report.Load(reportName);
  // compile report to assembly
  report.Compile(reportDllName);
}
else  // if assembly exist
{
// … use it
  report = StiReport.GetReportFromAssembly(reportDllName);
}
report.Show();
Это работает.

Однако, если я хочу дать пользователю возможность вносить изменения в структуру отчета и заменяю
report.Show(); на
report.Design();

то при попытке перехода в Preview выдается сообщение "Report already compiled".

Можно ли это обойти?

Спасибо.

Про загрузку отчетов из dll файла.

Добавлено: 17 окт 2006, 12:26
Edward
В скомпилированном отчете часть метаинформации преобразуется в код. Поэтому необходимо хранить копию отчета.

Код: Выделить всё

  // load report from file
  report = new StiReport();
  report.Load(reportName);
  [b]report.Design();[/b]
  // compile report to assembly
  report.Compile(reportDllName);

Спасибо.