2011-09-23 7 views
6

ho rapporti di cristallo che continua a dire questo errore:cristallo di riferimento rapporto oggetto non impostato su un'istanza di un oggetto

{ "riferimento oggetto non impostato a un'istanza di un oggetto."}

Stacktrace:

at CrystalDecisions.Windows.Forms.PageControl.OnMouseMove(MouseEventArgs e) 
    at System.Windows.Forms.Control.WmMouseMove(Message& m) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.UserControl.WndProc(Message& m) 
    at CrystalDecisions.Windows.Forms.PageControl.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.DebuggableCallback(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.Window.ShowHelper(Object booleanBox) 
    at System.Windows.Window.Show() 
    at System.Windows.Window.ShowDialog() 
    at ADR.Forms.GALReport.GuardianAdLitemReport.btnPreviewReport() in C:\Users\user\Development\ProjectADR\ADR\Forms\CaseCoordinatorReports\GALReport\GuardianAdLitemReport.xaml.cs:line 527 
    at ADR.Forms.GALReport.GuardianAdLitemReport.Button_Click(Object sender, RoutedEventArgs e) in C:\Users\user\Development\ProjectADR\ADR\Forms\CaseCoordinatorReports\GALReport\GuardianAdLitemReport.xaml.cs:line 90 
    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.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 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler) 
    at System.Windows.Threading.Dispatcher.InvokeImpl(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.Threading.Dispatcher.Run() 
    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 ADR.Program.Main() in C:\Users\user\Development\ProjectADR\ADR\Program.cs:line 57 
    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) 
    at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx) 
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
    at System.Threading.ThreadHelper.ThreadStart() 

A volte carica, il più delle volte lo dice. Sembra dirlo alternativamente. Come se rieseguissi il rapporto, carica il rapporto come previsto, ma non alla seconda. Che c'è?

si ferma in questo codice: crview.ShowDialog();

Per fornire informazioni in background, sto utilizzando il set di origini dati lo stesso con altri rapporti. ma altri rapporti non hanno questo tipo di problema. Chiunque possa dirmelo? Grazie.

+0

Sì ho creato l'istanza del crview in questo modo: CrystalReportViewerUC crview = new CrystalReportViewerUC(); crview.SetReportPathFile (reportPath); crview.BuildDataTable (ds, dsName); e ho provato a vedere tutti hanno valori e non null – user742102

+0

Ho gli stessi problemi. Hai già risolto questo? – Martijn

+0

Scusa, non l'ho fatto. Ho solo lasciato che sia così. comunque nell'app distribuita/installata, non succede. Solo in debug/runtime sul mio pc quando lo eseguo usando VS. – user742102

risposta

2

Mentre questo è un thread precedente, ecco come ho risolto il problema.

Ho trovato che avevo una casella di testo con una formula che andava oltre i limiti della pagina. Quindi stava creando una nuova pagina con una stringa NULL. La formula si arrestava in modo anomalo e causava il seguente errore:

System.NullReferenceException non gestito Messaggio = Riferimento oggetto non impostato su un'istanza di un oggetto.

L'ho visto solo una volta ogni tanto perché il valore restituito a volte causava la crescita dell'oggetto TextObject.

per risolvere questo

  • posso risolvere la formula per gestire i NULL, anche se sarebbe ancora causare la pagina bianca in più
  • Riposizionare la casella di testo entro i limiti della mia dimensioni della pagina e impostare CanGrow a Falso.

Ho optato per entrambi perché un utente potrebbe involontariamente causare pagine vuote selezionando un formato di carta più piccolo dalla stampante.

0

risolto! Ho avuto questo problema per anni! Lavoro con DataSet come reportSource. Infine, dopo aver provato tutte le soluzioni che ho trovato sui forum, ho trovato la risposta da solo: il DataSet conteneva valori nulli, quindi ho dovuto semplicemente rendere i campi stringa DataSet DefaultValue: "" invece di DBNull ... semplice, ma efficace.

Spero che questo aiuti.