【问题标题】:Crystal Report Windows Forms Viewer : Object Reference not set to an instance on an objectCrystal Report Windows 窗体查看器:对象引用未设置为对象上的实例
【发布时间】:2014-12-07 15:45:19
【问题描述】:

我正在使用 Vb.Net Forms 应用程序中的 Crystal Reports。包含 10-12 个子报告的庞大报告,此报告中使用了许多公式,有时此报告显示“对象引用未设置为对象上的实例”我无法弄清楚,我已将异常处理为好吧。当我点击“下一页”按钮时,它会显示在对话框下方。

我不知道为什么会这样。 看了很多博客,有人说是公式错误,有人说“鼠标移动”错误。

下面是我添加的代码,我现在检查一下

 Private Sub CrystalReportViewer1_HandleException(ByVal source As _
Object, ByVal e As CrystalDecisions.Windows.Forms.ExceptionEventArgs) _
Handles CrystalReportViewer1.HandleException

'Label1.Text = e.Exception.ToString();
'Here I will trap.

End Sub

以下是我通过应用上述异常代码找到的堆栈跟踪:

Source:CrystalDecisions.CrystalReports.Engine
Message:Object reference not set to an instance of an object.
ST:   at CrystalDecisions.CrystalReports.Engine.ReportDocument.get_IsLoaded()
at CrystalDecisions.ReportSource.NonHTTPCachedReportSource.GetReport(RequestContext  context, Boolean bAddToCacheWhenCreated)
at CrystalDecisions.ReportSource.LocalReportSourceBase.GetPage(PageRequestContext pageReqContext)
at CrystalDecisions.Windows.Forms.MainReportDocument.GetPage(PageRequestContext context)

【问题讨论】:

  • 这应该与您传递的数据有关。当通过 CR 公式处理数据时,它最终会出现异常。尝试检查正在传递的值,并为每个可以为 NULL 的值添加一些 vlaidations
  • 当我按下鼠标向下或向上键时,它会弹出这个消息框。
  • 表示公式无法执行!
  • 今天我发现了其他导致该对话框出现的东西,我将系统设置为待机状态,在报表查看器中左键打开该报表,当我来按鼠标键时,出现异常框,似乎对象或查看者已经失去了参考。有人可以建议吗?
  • @Nadeem_MK :先生,我从 Log 收到了这个错误。运行 Windows 7- 32 位操作系统的机器。

标签: vb.net exception crystal-reports


【解决方案1】:

我正在寻找解决方案, 不管怎样,我发现了我的问题,所以我把它贴在这里。

我的报告有一个子报告,其链接在主报告中未正确设置。在这种情况下,当我尝试只设置主报表的参数并尝试加载报表时,我得到了这个对象引用错误。

因此,要么将子报表参数链接到主报表参数,要么您也可以尝试设置子报表参数。我已将子报表参数设置为链接到主报表参数,并且可以正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-18
    • 1970-01-01
    相关资源
    最近更新 更多