水晶报表应用程序崩溃在Windows XP(WPF)

问题描述:

这个问题发生在使用WPF版本13.0.4downloaded from here(32位)打印时。水晶报表应用程序崩溃在Windows XP(WPF)

我使用WPF水晶报表查看器。如果我点击打印按钮,应用程序就会崩溃,显示窗口,告诉您可以将此信息发送给Microsoft。

为了避免错误的任何其他机会,我公司开发出内只是一个标签与报表上的示例应用程序。然后在机器上出现问题与Windows XP Service Pack 3的

编辑:我追查以下堆栈跟踪

at System.Windows.Size..ctor(Double, Double) 
at SAPBusinessObjects.WPF.Viewer.ReportPaginator.GetPage(Int32) 
at System.Windows.Xps.Serialization.Toolbox.GetPage(System.Windows.Documents.DocumentPaginator, Int32) 
at System.Windows.Xps.Serialization.NgcDocumentPaginatorSerializer.SerializeObject(System.Object) 
at System.Windows.Xps.Serialization.NgcSerializationManager.SaveAsXaml(System.Object) 
at System.Windows.Xps.XpsDocumentWriter.SaveAsXaml(System.Object, Boolean) 
at System.Windows.Xps.XpsDocumentWriter.Write(System.Windows.Documents.DocumentPaginator) 
at System.Windows.Controls.PrintDialog.PrintDocument(System.Windows.Documents.DocumentPaginator, System.String) 
at SAPBusinessObjects.WPF.Viewer.PrintControl.Print() 
at SAPBusinessObjects.WPF.Viewer.ReportAlbum.PrintReport() 
at SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer.PrintReport_Executed(System.Object, System.Windows.Input.ExecutedRoutedEventArgs) 
at System.Windows.Input.CommandBinding.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs) 
at System.Windows.Input.CommandManager.ExecuteCommandBinding(System.Object, System.Windows.Input.ExecutedRoutedEventArgs, System.Windows.Input.CommandBinding) 
at System.Windows.Input.CommandManager.FindCommandBinding(System.Windows.Input.CommandBindingCollection, System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean) 
at System.Windows.Input.CommandManager.FindCommandBinding(System.Object, System.Windows.RoutedEventArgs, System.Windows.Input.ICommand, Boolean) 
at System.Windows.Input.CommandManager.OnExecuted(System.Object, System.Windows.Input.ExecutedRoutedEventArgs) 
at System.Windows.UIElement.OnExecutedThunk(System.Object, System.Windows.Input.ExecutedRoutedEventArgs) 
at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) 
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) 
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) 
at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean) 
at System.Windows.Input.RoutedCommand.ExecuteImpl(System.Object, System.Windows.IInputElement, Boolean) 
at System.Windows.Input.RoutedCommand.ExecuteCore(System.Object, System.Windows.IInputElement, Boolean) 
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean) 
at System.Windows.Controls.Primitives.ButtonBase.OnClick() 
at System.Windows.Controls.Button.OnClick() 

at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(System.Windows.Input.MouseButtonEventArgs) 
at System.Windows.UIElement.OnMouseLeftButtonUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs) 
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) 
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) 
at System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject, System.Windows.RoutedEventArgs, System.Windows.RoutedEvent) 
at System.Windows.UIElement.OnMouseUpThunk(System.Object, System.Windows.Input.MouseButtonEventArgs) 
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) 
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(System.Object, System.Windows.RoutedEventArgs) 
at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) 
at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) 
at System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs) 
at System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs, Boolean) 
at System.Windows.Input.InputManager.ProcessStagingArea() 
at System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs) 
at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport) 
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions, Int32, Int32, Int32) 
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef) 
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) 
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) 
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) 
at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) 
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) 
at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) 
at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) 
at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame) 
at System.Windows.Application.RunDispatcher(System.Object) 
at System.Windows.Application.RunInternal(System.Windows.Window) 
at System.Windows.Application.Run(System.Windows.Window) 
at System.Windows.Application.Run() 
at TestCrystalReports.App.Main() 

我的解决方案 我别无选择,我把一个按钮,在Crystal报表查看器的按钮,我叫的ReportDocument的PrintToPrinter方法

您是否尝试过在报告中的页面设置删除打印机的关联?

+0

是我做到了。问题依然存在 –

我有同样的问题。 崩溃与PrintDialog和枚举现有​​打印机有关。

许多小时调试之后和使用Google我发现了一个工作溶液: 安装(或重新安装).NET框架3.5 SP1。 这将安装'Microsoft XPS Document Writer'打印机驱动程序。

真的不知道为什么,但安装后问题消失神奇。