Crystal Reports для Visual Studio зависает на ReportDocument.Close - PullRequest
0 голосов
/ 02 ноября 2018

Мы пытаемся перейти с Crystal Reports 10 (старая версия COM) на последнюю версию Crystal Reports для Visual Studio. (На момент написания статьи 13.0.23). У нас возникают различные проблемы, поэтому я попытался добавить ReportDocument.Close () в код, и теперь он зависает.

Это самый простой пример, который я могу создать, который воспроизводит проблему.

Параметры:

  • C # с .NET 4.7.2
  • WinForms
  • Crystal Reports CRforVS_13_0_23.exe
  • CrystalReport1 - новый отчет, созданный в Visual Studio с использованием отчета DDF (только определение данных)
  • frmPreview - это новая форма, содержащая только элемент управления CrystalReportViewer. Все настройки по умолчанию.

Код:

public partial class frmPreview : Form
{

    ReportDocument rd;

    public frmPreview(DataTable data)
    {
        InitializeComponent();
        rd = new CrystalReport1();

        rd.SetDataSource(data);

        crystalReportViewer1.ReportSource = rd;
    }

    private void frmPreview_FormClosing(object sender, FormClosingEventArgs e)
    {
        // crystalReportViewer1.ReportSource = null;
        rd.Close();
        rd.Dispose();
    }
}

Я очень обеспокоен тем, что мы также будем печатать отчет вручную и экспортировать отчет без просмотра. Нам нужно правильно высвобождать ресурсы.

...