nt Wrapper”复选框,点击Install安装。
2004-3-26 9:16:51
2004-3-26 9:17:09 安装成功后在ActiveX组件中看到有CRViewer9组件,直接拖拉到Form中就可以使用了,因为考虑到程序的可控性和扩展性,不推荐这样使用,在次也不做多介绍。
2004-3-26 9:19:53 二、Crystal Report 9.2 VCL 的安装1、准备合适的VCL组件
下载和自己开发环境匹配的VCL,例如我们现在所使用的是Delphi 7和Crystal Report 9,所以选择下载Crystal Reports 9 VCL - supports Delphi 7的VCL,地址:
businessobjects/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的,但也可以使用,但最好使用businessobjects网站提供最新的VCL。
注意:由于Crystal Decisions被business objects收购后, 原Crystal Report for Delphi VCL的作者Frank已经不提供VCL的更新(Frank的网站已经不能访问了
mypage.uniserve.ca/~zimmerman/delphi.htm
),关于最新资料最好到
businessobjects/support
上
查询。
2、安装VCL
·将VCL组件文件解
压缩到Program Files\Borland\crystal9_vcl 目录下。
·启动Delphi IDE,关闭所有文件。
·主菜单 File | Open,打开Program Files\Borland\crystal9_vcl\Delphi7\dcl7cr9.dpk。
·安装组件包
2004-3-26 9:21:00 ·确认安装成功
2004-3-26 9:22:05 ·主菜单Tools | Environment Options…
·编辑库
搜索路径
2004-3-26 9:23:13 ·浏览
2004-3-26 9:24:02 ·选取crystal9_vcl\Delphi7
2004-3-26 9:25:03 ·添加
2004-3-26 9:26:17 ·确认添加
·关闭所有文件,注意不要保存相应的包文件
3、对VCL组件中Demo使用的问题
在使用Crystal Reports 9 VCL for Delphi 7 时,安装VCL后大
家都会去看看VCL里带的例子,但是这些例子经过编译发现不少问题,首先这些例子是在老版本基础上制作的,所以用我们新的VCL和环境编译就会出现错误。
打开Program Files\Borland\crystal9_vcl\Delphi7\Samples\MDI32中的工程,编译发现一系列错误:
错误行:[red]Crpe1.ExportOptions.FileType := ExcelXLS[/red];
原因是新的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);
同