2017-11-11 10 views
-1

VS 및 WFP 용 Crystal Report를 사용하여 창에서 보고서를 봅니다. 시작시 는이 오류에 직면했다 : 크리스탈 보고서가 개체 참조를 개체의 인스턴스로 설정하지 않음으로 보냅니다.

System.ArgumentNullException -- System.ArgumentNullException: Value cannot be null. 
Parameter name: window 

가 그럼 난이 solution을 다음 그것을 해결했습니다.

System.NullReferenceException -- System.NullReferenceException: Object reference not set to an instance of an object. 
    at SAPBusinessObjects.WPF.Viewer.ReportAlbum.RefreshReport() 
    at SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer.RefreshReport_Executed(Object sender, ExecutedRoutedEventArgs e) 
    at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e) 
    at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding) 
    at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute) 
    at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute) 
    at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e) 
    at System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e) 
    at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target) 
    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) 
    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 args, Boolean trusted) 
    at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated) 
    at System.Windows.Input.RoutedCommand.ExecuteCore(Object parameter, IInputElement target, Boolean userInitiated) 
    at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated) 
    at System.Windows.Controls.Primitives.ButtonBase.OnClick() 
    at System.Windows.Controls.Button.OnClick() 
    at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) 
    at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e) 
    at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) 
    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) 
    at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) 
    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) 
    at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent) 
    at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e) 
    at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget) 
    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) 
    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.RaiseTrustedEvent(RoutedEventArgs args) 
    at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted) 
    at System.Windows.Input.InputManager.ProcessStagingArea() 
    at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input) 
    at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport) 
    at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel) 
    at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
    at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) 
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) 
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) 
    at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) 
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) 
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) 
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) 
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) 
    at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) 
    at System.Windows.Application.RunDispatcher(Object ignore) 
    at System.Windows.Application.RunInternal(Window window) 
    at System.Windows.Application.Run(Window window) 
    at System.Windows.Application.Run() 
    at Inspector_Reporter_MDK.App.Main() -- Object reference not set to an instance of an object. 
  • 내 보고서는 어떤 분야가 없습니다, 물론 더 매개 변수 I가 없습니다 :

    이제 또 다른 모호한 메시지는 심지어 this 다음 그것에 대한 해결책을 찾을 수 없다는 것을 나타납니다 보내다.

  • 모든 텍스트가 페이지 크기에 포함되어 있습니다.

인쇄에 보고서를 설정 뒤에 내 코드 :

public void PrintReport() 
{ 
    string reportPath = System.IO.Path.Combine(new System.IO.DirectoryInfo("reports").FullName, "taklif-tansik.rpt"); 
    //MessageBox.Show(reportPath); 
    try 
    { 
     cryRpt = new ReportDocument(); 
     cryRpt.Load(reportPath); 
     if (cryRpt.IsLoaded) 
     { 
      ReportPrintWindow = new ReportWindow(); 
      //cryRpt.Refresh(); 
      ReportPrintWindow.RptViewer.ViewerCore.ReportSource = cryRpt; 
      ReportPrintWindow.Show(); 
     } 
    } 
    catch (Exception exEngineException) 
    { 
     MessageBox.Show("exEngineException " + exEngineException.ToString()); 
    } 
} 

크리스탈 리포트 뷰어에 대한 XAML :

<metro:MetroWindow 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:syncfusion="http://schemas.syncfusion.com/wpf" x:Class="Inspector_Reporter_MDK.ReportWindow" 
     xmlns:my="clr-namespace:SAPBusinessObjects.WPF.Viewer;assembly=SAPBusinessObjects.WPF.Viewer" 
     xmlns:metro="http://metro.mahapps.com/winfx/xaml/controls" 
     GlowBrush="{DynamicResource AccentColorBrush}" 
     BorderThickness="1" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:loc="clr-namespace:Inspector_Reporter_MDK" 
     xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes" 
     mc:Ignorable="d"Loaded="MetroWindow_Loaded" > 
    <Grid > 
     <my:CrystalReportsViewer x:Name="RptViewer" /> 
    </Grid> 
</metro:MetroWindow> 

코드 뒤에 크리스탈 리포트 뷰어 :

private void ReportWindow_Loaded(object sender, RoutedEventArgs e) 
{ 
    try 
    { 
     RptViewer.Owner = this; 
     //MessageBox.Show("RptViewer5"); 
    } 
    catch (Exception exEngineException) 
    { 
     MessageBox.Show("RptViewer " + exEngineException.ToString()); 
    } 
} 
+0

일부 질문에 대한 답을 얻지 못했습니다. 내가 뭘 잘못하고 있는지 지정할 수 있습니까? –

답변

0

Crystal Report의 불일치 런타임 dll 파일을 두 번째

Memory full. 
Not enough memory for operation. 

: 개발 시스템과 클라이언트 시스템이 문제가 발생

System.NullReferenceException -- System.NullReferenceException: Object reference not set to an instance of an object. 

솔루션 :

는 클라이언트 시스템에서 개발 시스템에서 사용되는 동일한 버전을 설치합니다. 내 설치된 버전은 이고 클라이언트 컴퓨터 13.0.1213.0.12을 제거하고 클라이언트 컴퓨터에 13.0.19을 설치하여 문제를 해결했습니다.

Visual Studio 버전과 관련된 Microsoft Visual C++ Redistributable을 설치하는 것이 좋습니다.