应用程序在ReportDocument.Close()上崩溃

2020-09-21 06:17发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经阅读了有关同一问题的其他主...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我已经阅读了有关同一问题的其他主题,但不幸的是,它没有帮助我。

基本上我的代码如下:

将rd作为新的CrystalDecisions.CrystalReports.Engine.ReportDocument 
rd.Load(txtReportPath.Text)
...枚举rd.ParameterFields集合... rd.Close()

应用程序挂在rd.Close()

该报告完全为空,没有数据库连接,没有公式,没有参数,什么都没有。 除了一个文本对象上显示单词" test"。

我们正在将SAP Crystal Reports运行时引擎用于.NET Framework(32位)13.0.21.2533。 (测试)应用程序是32位目标框架.NET 4.5.2,可在Citrix终端服务器/Windows 2012 R2 Standard上运行。

当我从同一位客户的文件服务器上运行相同的测试应用程序时,它运行良好。 我已要求系统管理员重新安装上述Crystal Reports运行时,但无济于事。

3条回答
2020-09-21 06:46

由于另一家公司管理服务器,因此切换到SP 22或.NET 4.6并不容易。 此外,我们在其他客户的服务器或同一公司的文件服务器上都没有遇到此问题。 因此,仅在此Citrix终端服务器上。

我们对此问题进行了更多调查,发现了一些有趣的东西。 我做了两个控制台项目,一个在 VB.NET 中,一个在C#中。 两者.NET 4.5.2。 两者都以"任何CPU"作为平台目标,并且都喜欢32位。 Bot引用相同的DLL,只有CrystalDecisions.CrystalReports.Engine。 VB.NET 版本挂在rd.Close()上,而C#版本则没有。

VB.NET 代码:

导入CrystalDecisions.CrystalReports.Engine

模块Module1
Sub Main(sArgs()as String)
Dim rd as New ReportDocument rd.Load(sArgs(0))
rd.Close()
End Sub
结束模块

C#代码:

使用System;
使用System.Collections.Generic;
使用System.Linq;
使用System.Text;
使用System.Threading.Tasks;
使用CrystalDecisions.CrystalReports.Engine;
命名空间cscon
{
类程序
{
static void Main(string [] args)
{
ReportDocument rd = new ReportDocument();
rd.Load(args [0]);
rd.Close();
}
}
}

因此基本上完全相同的代码...

一周热门 更多>