Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8940

Intermittant Error Running Report

$
0
0

I have an intermittent issue with the WPF report Viewer.  I run a report and get the window open with the busy circle as per normal but then there is a  Invalid report file path error appearin, then a blank report is shown in the viewer.   If I run the report again everything is fine.   Can anyone help to explain why this is happening

 

The error being reported is.

 

 

Error Exception: SEHException

Error Message: External component has thrown an exception.

Error Stack Trace:

 

   at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.RemoveAfterFormatPageEventCallBack(ISCRAfterFormatPageEventCallBack formatPageEventCallBack)   

at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.RemoveAfterFormatPageEventCallBack(ISCRAfterFormatPageEventCallBack eventCallback)    

at CrystalDecisions.CrystalReports.Engine.ReportDocument.ClearCache(Boolean clearDocument)    

at CrystalDecisions.CrystalReports.Engine.ReportDocument.InternalClose(Boolean bSetupForNextReport)    

at CrystalDecisions.CrystalReports.Engine.ReportDocument.Close()

at CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob)   

at CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport()

at CrystalDecisions.CrystalReports.Engine.ReportDocument.get_Database()

at ....ReportViewer.CleanUpObjectsForMemoryLeak() in ...ReportViewer.xaml.cs:line 307     at ....ReportViewer.Window_Unloaded(Object sender, RoutedEventArgs e) in C:\Data\Dotnet\PlantManPro\Source\PhoenixIT.PlantBMS.Reports\ReportViewer.xaml.cs:line 297   

at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)    

at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)   

at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    

at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)    

at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)    

at System.Windows.BroadcastEventHelper.BroadcastUnloadedEvent(Object root)    

at MS.Internal.LoadedOrUnloadedOperation.DoWork()   

at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()

at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()

at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)   

at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)   

at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)    

at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)   

 

 

FYI the CleanUpObjectsForMemoryLeak code is listed below and all references - which should only be on window close or disposal of window

 

 

 

        privatevoid CleanUpObjectsForMemoryLeak()

        {

            if (this.vwCrystalReportViewer != null)

            {

                var objRptDocViewer = (ReportDocument)this.vwCrystalReportViewer.ViewerCore.ReportSource;

                if (objRptDocViewer != null)

                {

                    foreach (CrystalDecisions.CrystalReports.Engine.Table table in objRptDocViewer.Database.Tables)

                    {

                        table.Dispose();

                    }

                    objRptDocViewer.Database.Dispose();

                    objRptDocViewer.Close();

                    objRptDocViewer.Dispose();

 

                    objRptDoc.Close();

                    objRptDoc.Dispose();

                    objRptDoc = null; // Line 307

                }

                this.ParameterValues = null;

                this.PassedReport = null;

 

                if (this.vwCrystalReportViewer.ViewerCore.ParameterFieldInfo != null)

                    this.vwCrystalReportViewer.ViewerCore.ParameterFieldInfo.Clear();

 

                if (this.vwCrystalReportViewer.ViewerCore != null)

                {

                    this.vwCrystalReportViewer.ViewerCore.Content = null;

                    this.vwCrystalReportViewer.ViewerCore.Dispose();

                }

                if (this.vwCrystalReportViewer.Owner != null)

                {

                    this.vwCrystalReportViewer.Owner = null;

                }

                this.vwCrystalReportViewer = null;

                GC.Collect();

            }

        }

privatevoid Window_Unloaded(object sender, RoutedEventArgs e)

        {

            CleanUpObjectsForMemoryLeak();

        }

 

        privatevoid Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)

        {

           e.Cancel = true;

            CleanUpObjectsForMemoryLeak();

            this.Visibility = System.Windows.Visibility.Collapsed;

 

        }

~ReportViewer()

        {

            try

            {

                CleanUpObjectsForMemoryLeak();

            }

            finally { }

        }


Viewing all articles
Browse latest Browse all 8940

Trending Articles