Delphi 7 中如何使用 Crystal Report 9.2(二、Crystal Report 9.2 VCL 的安装)

类别:Delphi 点击:0 评论:0 推荐:

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 9.2 VCL 的安装

1、 准备合适的VCL组件

下载和自己开发环境匹配的VCL,例如我们现在所使用的是Delphi 7和Crystal Report 9,所以选择下载Crystal Reports 9 VCL - supports Delphi 7的VCL,地址:http://www.businessobjects.com/products/reporting/crystalreports/vcl/default.asp。或者使用Crystal Report 9中带有的\Program Files\Crystal Decisions\Crystal Reports 9\Samples\chs\Code\Delphi\cr85vcl.exe,注意,这个VCL是Crystal Report 8.5的,但也可以使用,但最好使用www.businessobjects.com网站提供最新的VCL。

注意:由于Crystal Decisions被business objects收购后, 原Crystal Report for Delphi VCL的作者Frank已经不提供VCL的更新(Frank的网站已经不能访问了http://mypage.uniserve.ca/~zimmerman/delphi.htm),关于最新资料最好到www.businessobjects.com/support上查询。

 

2、 安装VCL

·将VCL组件文件解压缩到Program Files\Borland\crystal9_vcl 目录下。

·启动Delphi IDE,关闭所有文件。

·主菜单 File | Open,打开Program Files\Borland\crystal9_vcl\Delphi7\dcl7cr9.dpk。

·安装组件包

 

·确认安装成功

 

·主菜单Tools | Environment Options…

·编辑库搜索路径

 

·浏览

 

·选取crystal9_vcl\Delphi7

 

·添加

 

·确认添加

·关闭所有文件,注意不要保存相应的包文件

 

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

在使用Crystal Reports 9 VCL for Delphi 7 时,安装VCL后大家都会去看看VCL里带的例子,但是这些例子经过编译发现不少问题,首先这些例子是在老版本基础上制作的,所以用我们新的VCL和环境编译就会出现错误。

打开Program Files\Borland\crystal9_vcl\Delphi7\Samples\MDI32中的工程,编译发现一系列错误:

错误行:

Crpe1.ExportOptions.FileType := ExcelXLS;

原因是新的VCL里的导出文件类型命名进行了修改,而且对支持的格式也有所变化,所以要针对新的导出文件类型要对代码进行修改。这里的ExcelXLS 就需要修改为MSExcel ,代码中的LotusWK3格式已经在此VCL里不支持了。Crystal Reports 9 VCL for Delphi 7中支持的格式如下:

  TCrExportType = (AdobeAcrobatPDF, CrystalReportRPT, HTML32,

           HTML40, MSExcel, MSWord, ODBCTable, Records, ReportDefinition,

    RichText, SeparatedValues, TabSeparatedText, TextFormat, XML1);

       如果遇到其他问题,可以逐步调试,看是Demo中的问题,还是VCL组件中的问题。

 

4、 VCL组件中的修改

VCL组件中本身就有一些BUG,需要我们进行修改。

·当使用TCrpeDS组件用TTable等数据源时,不能显示字符串字段。

解决办法:打开UcrpeDS.pas,修改282行

ftString : pVal := varString;

修改为:

ftString : pVal := varOleStr;

修改完保存,然后重新编译Program Files\Borland\crystal9_vcl\Delphi7\dcl7cr9.dpk。

·提示信息汉化的处理

我们在使用的过程中发现,虽然我们用了Crystal Report 9.2中文版本,但通过编写程序后发现我们的程序错误提示信息中包含了英文信息,这是我们不想看到的。例如在Ucrpe32.pas的8067行:

MessageDlg('Error: ' + IntToStr(FLastErrorNumber) +

   Chr(13) + Chr(10) + FLastErrorString, mtError, [mbOk], 0);

明显看出错误信息中加入“Error”单词,我们可以对其进行修改为:

MessageDlg(FLastErrorString, mtWarning, [mbOk], 0);

 

同样道理,根据自己实际情况检查代码,如果需要修改,可以对VCL代码修改后然后保存,重新编译,就会达到自己所需要的效果。

 

 

本文地址:http://com.8s8s.com/it/it5143.htm