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

时间:2010-09-21 18:32:56

标签: windows-7 crystal-reports

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. 程序找不到默认电子邮件客户端时发布错误
  4. 问题:

    1. Windows 7未附带默认电子邮件客户端,早期调查似乎表明安装一个并不一定能改善问题。无论如何,我不希望我们所有的客户都安装了一台客户,我们的客户也不希望我们安装一台客户。
    2. 如果没有电子邮件客户端的实际需要(例如,在上述情况下),我们仍然会弹出此错误消息。
    3. 注意: 有趣的是,这实际上并没有阻止用户再次按导出按钮,事实上,如果用户执行此操作,则错误显示为注册表查询显然只在每次加载或使用craxdrt.dll时完成。

1 个答案:

答案 0 :(得分: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)