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

2020-09-21 06:17发布

         点击此处--->   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运行时,但无济于事。

         点击此处--->   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条回答
My梦
1楼 · 2020-09-21 06:51.采纳回答

有趣的是……这似乎是Citrix问题。

可能是权限或资源。

您必须要求Citrix Admin使用ProcessMonitor并查看有什么不同。

我已经看到这发生在调试运行时和发布运行时之间,这是调试模式中使用的不同版本。 但是我从未听说过VB和C#之间的问题。...这可能与JIT编译器有关,如果没有调试信息就很难说。

DebugDiag也可能捕获更多细节。

Don

2楼-- · 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();
}
}
}

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

nice_wp
3楼-- · 2020-09-21 06:47

已将VS的标记更改为CR,

尝试SP 22,查看器出现问题,不是您正在使用它,而是最新版本。

https: //wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

尝试4.6框架,4.5中存在已知问题

如果不使用Citrix或RDC,它会崩溃吗?

一周热门 更多>