Crystal Reports/Windows 7:Crystal报告要求提供默认电子邮件客户端,并发布错误

Ben*_*boy 6 crystal-reports windows-7

Crystal Reports 11(craxdrt.dll 11.5.7.1048)Windows 7

我正在使用Crystal Reports 导出到PDF文档,使用CRYSTALCRAXDRT :: IReport :: Export,并且收到错误,仅限Windows 7.

"没有与执行请求的操作相关联的电子邮件程序.请安装电子邮件程序,如果已安装,请在"默认程序"控制面板中创建关联.

同样,我不是要发送电子邮件,只是创建一个文档.

我已经对此进行了一些调试,似乎正在发生的事情是这样的:

  1. 我通过IReport接口调用craxdrt.dll,函数Export(...),然后用procmon监控,我发现有几百个注册表查询默认邮件,联系人等.
  2. 似乎craxdrt.dll在任务之前构建了一个大型数据结构,其中包含一系列函数可能需要的任何信息.
  3. 当程序找不到默认的电子邮件客户端时,会发布错误

这个问题:

  1. Windows 7没有附带默认的电子邮件客户端,早期调查似乎表明安装一个并不一定能改善问题.在任何情况下,我都不希望我们所有的客户都安装了一个,我们的客户也不希望我们安装一个.
  2. 如果没有对电子邮件客户端的实际需求(即,在上述情况下),我们仍然会弹出此错误消息.

注:有趣的是,这实际上并没有阻止用户按下导出按钮再次,事实上,如果用户这样做,错误也不会显示出来,如注册表查询每个负载或使用craxdrt显然仅完成一次.dll文件.

Edu*_*eni 1

我认为您在导出之前缺少设置ExportOptions

Dim crxReport As Report
Set crxReport = Prepare()

crxReport.ExportOptions.FormatType = crEFTPortableDocFormat
crxReport.ExportOptions.DestinationType = crEDTDiskFile
crxReport.ExportOptions.DiskFileName = "C:\temp\Report.PDF"

crxReport.Export (False)
Run Code Online (Sandbox Code Playgroud)