我们正试图从Crystal Reports 10(旧的COM版本)迁移到Visual Studio的最新Crystal Reports。 (截至撰写本文时,为13.0.23)。我们遇到了各种各样的问题,因此我尝试将ReportDocument.Close()添加到代码中,现在挂起了。
这是我可以创建的最简单的示例,可以重现该问题。
设置:
代码:
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();
}
}
我非常担心,因为我们还将手动打印报告并在没有查看器的情况下导出报告。我们需要能够正确释放资源。