分享
 
 
 

Crystal 9發布

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Delphi 7 中如何使用 Crystal Report 9.2

李经通

日期

版本

描述

备注

2004-3-12

0.1

在Delphi 7 中使用Crystal Report 9 VCL等

新建

目录

一、 直接使用Crystal Report 9.2 动态库... 2

1、 开发环境安装注意事项... 2

2、 在Delphi 7 中引入Crystal Report Viewer 控件... 2

二、 Crystal Report 9.2 VCL 的安装... 3

1、 准备合适的VCL组件... 3

2、 安装VCL. 3

3、 对VCL组件中Demo使用的问题... 6

4、 VCL组件中的修改... 7

三、 利用 Crystal Report 9 VCL 编程... 7

1、 利用VCL编写程序... 7

2、 简单连接数据源代码实现——只使用Tcrpe32组件就可以满足我们的需求... 8

3、 复杂数据源实现——需要TcrpeDS辅助实现数据源的连接... 8

4、 处理中遇到的问题... 11

四、 如何发布自己的程序... 11

1、 利用InstallShield DevStudio 9来制作安装程序... 12

2、 运行库说明... 12

3、 遇到的一些问题... 14

五、 总结... 14

一、 如何发布自己的程序

当我们把程序编写完成后,最后的任务是要把我们的程序发布出去,但是由于Crystal Report 带有很多库,这样给我们发布程序带来了很多麻烦,使我们发布出去的程序在客户机上功能不能够正常使用,下面就介绍如何发布程序,以及经常会碰到的问题:

1、 利用InstallShield DevStudio 9来制作安装程序

在InstallShield DevStudio 9已经带有Crystal Report 9的Merge Modules,但是那是英文的,不能够满足我们的需要,我们需要下载简体中文的,进行替换。下载地址:http://support.businessobjects.com/communityCS/FilesAndUpdates/cr9rdcmergemodules_chs.zip.asp?recDnlReq=Record&dnlPath=cr9rdcmergemodules_chs.zip。

·下载后解压缩,替代\Program Files\Common Files\Merge Modules中对应的文件。

·将Crystal Report 9-Crystal Report Engine Components选择加入我们的安装程序中。

·如果使用了TclientDataSet等数据集,那么需要加入midas.dll。

·需要加入crpe32.dll、crpe32_res_chs.dll、gdiplus.dll、commonobjmodel.dll、rptobjmodel.dll、u2fcompress.dll

·更加自己程序功能特性加入其他库文件。

2、 运行库说明

虽然Crystal Decisions申明Crystal Reports components 支持多个版本安装在同一机器上,但不支持这样做,实际应用过程中还是会发生一系列问题。

当发布自己的程序时,依靠Crystal Report 运行库主要有以下几个方面:

——访问Crystal Report Engine的方法

——报表所用的数据源

——导出类型支持

——其他功能,如图表、地图、公式的支持。

Crystal Reports components中的四个主要器件介绍:

——Craxdrt9.dll —— The Crystal Reports 9 ActiveX Designer Runtime DLL. This DLL is the reporting engine and it exposes the Object Model Hierarchy. Distribute this DLL with all applications using the RDC。

——CRViewer9.dll —— The Crystal Reports View Control. Use this component to preview your report. If you are not previewing the report, then it is not necessary to distribute this DLL。

——CRDesignerCtrl.dll —— Embeddable Crystal Reports 9 Designer Control. This DLL exposes report creation and designer capabilities in your application and allows you to create a report at runtime using an ActiveX designer。

——Craxddrt9.dll —— Crystal Reports 9 ActiveX Designer Design and Runtime DLL. This DLL is the engine used to design and format reports at design time, as well as to access and process reports at runtime。

虽然Crystal Report 提供了安装包,但安装包中的文件比较多,很多都是不是我们所需要的,我们可以挑选自己需要的库文件加入安装程序中,主要参考Program Files\Crystal Decisions\Crystal Reports 9\Developer Files\Help\chs\runtime.chm帮助文件。

·主要需求文件

Craxdrt9.dll: Mfc42.dll, Msvcrt.dll, Msvcp60.dll, Comdlg32.dll, Comctl32.dll

CRViewer9.dll: Comctl32.dll

CRDesignerCtrl.dll: Msvcrt.dll, Comctl32.dll

Craxddrt9.dll: Mfc42.dll, Msvcrt.dll, Msvcp60.dll, Comctl32.dll, Comdlg32.dll, Msvcirt.dll

·需要C&C++运行库

——Mfc42.dll (version 6.0.8447.0 or higher)

——Msvcrt.dll (version 6.0.8397.0 or higher)

——Msvcp60.dll (version 6.0.8168.0 or higher)

·其他系统库

Comdlg32.dll

——Comctl32.dll

——Riched20.dll

——Usp10.dll

·Crystal Report 运行库文件需要安装以下文件和操作:

——Run CR9Deploy.reg; (or modify this file to where you will have your bin folder, the rest of this article assumes that the bin folder location is "C:\Program Files\Common Files\Crystal Decisions\2.0\bin") refer to 'Runtime.chm' and look under 'Side-by-side installation' for more information.

——Copy Unicows.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin". Include unicows.dll (version 1.0.3703.0 or higher) into distributions that are targeted for Windows 9x computers. For more information, refer to knowledge base article c2011871

——Copy Craxdrt9.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

——Copy the following dependency files to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin"

——Implode.dll (for applications using reports created in versions previous to Crystal Reports 8)

——Querybuilder.dll

——Ufmanager.dll

——Atl.dll (There are two versions of Atl.dll one for Win9x and another for WinNT/Win2000. Please refer to special instructions in 'Runtime.chm' and look under 'Additional Components' and then 'Paged-ranged export' for more information.)

——Copy Crqe.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

——Copy keycode.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

·如果需要允许在应用程序查看报表那么需要下面的操作:

——Copy Crviewer9.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

·如果需要程序中能够设计报表模板的功能,则需要下面的操作:——

Copy Crdesignerctrl.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

——Copy Craxddrt.dll to "C:\Program Files\Common Files\Crystal Decisions\2.0\bin" (Register this file using regsvr32.exe)

·ACTIVE DATA

如果需要用到ACTIVE DATA(ADO, CDO, DAO, RDO, etc),则需要加入数据库访问的库文件。

·DATABASE DLLs

如果程序中用的不是活动数据连接,而是数据库文件(如Access表等)则需要crdb_*.dll or p2*.dll相应的库文件支持。

·导出 Dlls

根据自己的需要选择导出Dll文件。

3、 遇到的一些问题

·导出HTML问题(虽然我们加了很多库文件,最后发现导出HTML不能正常使用),我们需要检查如下库文件,是否全部包含了。

在Program Files\Common Files\Crystal Decisions\2.0\bin中检查:

——Crxf_html.dll

——ReportRenderer.dll (Register this file using regsvr32.exe)

——PageObjectModel.dll (Register this file using regsvr32.exe)

——WebReporting.dll (Register this file using regsvr32.exe)

——Commonobjmodel.dll (Register this file using regsvr32.exe)

——Rptdefmodel.dll (Register this file using regsvr32.exe)

——U2fcompress.dll

——DataDefModel.dll

——Gdiplus.dll (Due to licensing restrictions, you must get gdiplus.dll from the Microsoft web site. Go to http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm and select "GDI+ RTM").

在Crystal report 安装包中已经带有Crxf_html.dll 、ReportRenderer.dll 、PageObjectModel.dll 、WebReporting.dll这几个文件了,我们需要加入 U2fcompress.dll 、Commonobjmodel.dll 、Rptdefmodel.dll 、Gdiplus.dll四个文件就可以解决导出HTML的问题。

如果在报表中有自定义的函数,则需要加入U2*.dll (UFL)库文件。

·在客户机上安装程序后,发现带有图表的报表不能正常显示,需要将Program Files\ Common Files\Crystal Decisions\2.0\bin中的sscsdk80.dll拷贝到Windows\WINNT\System32,这是因为可能客户机上含有老版本的sscsdk80.dll,需要将新版本的文件拷贝到系统目录下面。

二、 总结

回顾我们在Delphi 7 中利用Crystal Report 9 VCL 开发项目的历程发现实际上使用方法很简单,但我们在当初开始使用的时候总会遇到这样那样的问题,首先是我们使用认识需要一个过程,其次就是Crystal Report 9 VCL中存在很多问题,需要我们发现,去修正。当然,本文也是一个粗浅的使用指导,里面有很多缺陷和不足,需要大家使用过程中去发现和完善,本文的目的是引导大家尽快熟悉使用Crystal Report 9 VCL在Delphi 中开发我们的程序。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有