2014-02-28 38 views
3

如何安全處理的ReportViewer對象,如果應用程序關閉意外處置的ReportViewer對象

Public Shared rv As New Microsoft.Reporting.WinForms.ReportViewer 
+1

如果應用程序被關閉,實例將被銷燬,無論如何。爲什麼你擔心它的處置? –

+0

如果應用程序意外關閉,則應用程序給出錯誤'異常來自HRESULT:0x80131015' 當不處理'rv'時會發生此錯誤 @RohitVats – NorCode

+0

查看發佈的答案是否適合您。 –

回答

2

我想你所談論的問題提到here

正如鏈接中所提到的,您需要在表單關閉事件上手動調用Dispose() reportViewer實例。

private void frmMyForm_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if (rv != null && !rv.Disposing && !rv.IsDisposed) 
    { 
     rv.Dispose(); 
    } 
} 

OR

要麼調用形式關閉事件reportViewer.LocalReport.ReleaseSandboxAppDomain()

private void frmMyForm_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    rv.LocalReport.ReleaseSandboxAppDomain();   
}