Delphi XE-调用Crystal报告

Delphi XE-调用Crystal报告,delphi,crystal-reports,delphi-xe,Delphi,Crystal Reports,Delphi Xe,我们如何从Delphi XE调用Crystal Reports? Delphi XE支持什么版本的Crystal Reports 目前,Delphi XE没有对Crystal Reports的本机支持。在过去,我所做的是创建一个小型的Delphi Prism应用程序,该应用程序使用他们支持的.net framework API运行我的报告 如果您的冒险性,您也可以编写一个小包装器,通过COM公开水晶报表.NETFramework API,然后从您的Delphi XE应用程序中调用它。 < P>最

我们如何从Delphi XE调用Crystal Reports?
Delphi XE支持什么版本的Crystal Reports

目前,Delphi XE没有对Crystal Reports的本机支持。在过去,我所做的是创建一个小型的Delphi Prism应用程序,该应用程序使用他们支持的.net framework API运行我的报告


如果您的冒险性,您也可以编写一个小包装器,通过COM公开水晶报表.NETFramework API,然后从您的Delphi XE应用程序中调用它。

< P>最后一个来自SAP(Delphi)的Delphi的正式VCL组件是针对晶席(11)和Delphi 7。有一个补丁Nils Dzubiel从Delphi 2009(Unicode),工作与晶体席。您可以要求他在embarcadero论坛上向您发送他的版本:

此修补程序也适用于Delphi 2010和XE。它不是100%稳定,但工作正常


你可以用水晶2008设计报告,但是运行时你必须安装水晶席,因为2008没有CRPE32.DLL API接口。

< P>我一直在努力寻找水晶报表和Delphi XE的某个地方。在多次尝试失败后,我尝试安装旧的VCL组件。正如大多数人已经知道的那样,这是失败的。我发现故障点是对bdertl和相关组件的引用。这需要一些思考和工作,但我现在有Delphi Berlin 10.1中的Crystal Reports控件。应用程序编译和启动正常,但运行报告仍然存在问题。我有理由相信我能解决这个问题,但同样需要更多的时间

Crystal VCL组件中要修改的一些项目: -UCrpeUtl.pas--更改GetCommonFilePath以正确反映注册表路径。查看版本检查代码。 -UCrpe32.pas--更正版本检查以查找正确的版本--请参阅TCrpe.LoadEngine部分

当尝试安装CR组件时,请遵循Delphi早期版本的说明。编译dcl7cr11.dpk。请注意错误,并开始在代码外使用BDE引用。在早期代码中注释bdertl引用将有助于出现其他问题。注意对Ttable的引用-删除该例程。我把名字改成了不。。。对ToString的引用似乎与该名称的现有引用冲突。将此引用更改为“ToAString”

我仍在努力,但我对用最近的成功找到解决方案更有信心


Eric D

< P>除了ANSI/Unicode API原型,对于水晶报表席报告(称为“RDC”),“版本2 Service PACK 6”(版本1.5)最后版本是64位目标平台的强制版本。可下载:


Delphi XE2/Windows 10(64位)测试正常,系统稳定;酷。

最终我完全放弃了Crystal Reports。对于我的应用程序来说,安装最新版本的要求过于苛刻,因此我转而使用快速报告。我的用户更快乐,因为它运行得更快,他们不必购买另一个第三方应用程序来构建自定义报告。我们使用包装解决方案:它允许我们使用C++和VB6的最新运行时间运行水晶报表。我主要使用Delphi 5的CR。Crystal reports完全是一派胡言。我们有一个服务器场,每天晚上生成数百份报告,并发送给数百人。每天早上我们都要处理失败的报告。除此之外,我们都非常痛恨这份报告的编辑。它会崩溃,弄乱布局,甚至拒绝打开有人工作了几天的报告。在这段时间里,我学到了基于web的报告更灵活、开发更快、维护更容易。此外,不再有Delphi支持。我建议你另找一个解决办法。