Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 处理水晶报告_Arrays_Vb.net_Crystal Reports_Idisposable - Fatal编程技术网

Arrays 处理水晶报告

Arrays 处理水晶报告,arrays,vb.net,crystal-reports,idisposable,Arrays,Vb.net,Crystal Reports,Idisposable,我设置了多个报表查看器,每个查看器都可以打开多个crystal报表。 这一切都很好 我想简化在DisposeOfReports()事件中处理报告的方式 此时此刻,我做了以下工作: If (_rpt1 IsNot Nothing) Then _rpt1.Close() _rpt1.Dispose() End If If (_rpt2 IsNot Nothing) Then _rpt2.Close() _rpt2.Dispose() End If

我设置了多个报表查看器,每个查看器都可以打开多个crystal报表。 这一切都很好

我想简化在DisposeOfReports()事件中处理报告的方式

此时此刻,我做了以下工作:

 If (_rpt1 IsNot Nothing) Then
     _rpt1.Close()
     _rpt1.Dispose()
 End If

 If (_rpt2 IsNot Nothing) Then
     _rpt2.Close()
     _rpt2.Dispose()
 End If
这可以使用数组来完成吗

我在想,每次生成报告时,我都可以将报告添加到数组中

然后在DisposeOfReports()事件中执行以下操作:

If (reportsArray IsNot Nothing) Then

  For Each report As CrystalDecisions.CrystalReports.Engine.ReportClass In reportsArray

     If (report IsNot Nothing) Then
        report.Close()
        report.Dispose()
     End If

  Next

  reportsArray = Nothing

 End If
对于此方法,我将声明reportsArray,如下所示:

Private reportsArray As New List(Of CrystalDecisions.CrystalReports.Engine.ReportDocument)
请大家反馈给我,让我知道这是一种有效的方法,还是有更好的方法


干杯。

我看你的方法没有错。

如果你能让它发挥作用,你会得到更多的力量。我没有显式地关闭或处置控件,但这并不意味着我不应该这样做。