将水晶报告导出为pdf

时间:2015-06-21 01:58:43

标签: pdf crystal-reports vb6

我们有一个用Visual Basic 6.0编写的遗留应用程序。该应用程序首先将渲染的水晶报告作为pdf文档保存到目录中。然后我们将该文档作为blob存储在数据库中。以下是代码片段。当应用程序必须为1000名员工呈现报告时,它会在中途运行并在“.Export false”行上抛出“Memory full”错误。如果我在抛出异常后点击播放按钮,它可以正常工作。但是,有人必须注意它并按下播放按钮。有关如何解决此问题的任何建议吗?

FileLocation = "D:\TempSaveToMail\" & CoCode & Batch & ".pdf"

                On Error Resume Next
                Kill FileLocation
                On Error GoTo 0

                myReport.ExportOptions.DiskFileName = FileLocation
                myReport.ExportOptions.DestinationType = crEDTDiskFile
                myReport.ExportOptions.FormatType = crEFTPortableDocFormat
                myReport.ExportOptions.PDFExportAllPages = False
                myReport.ExportOptions.PDFFirstPageNumber = StartPage
                myReport.ExportOptions.PDFLastPageNumber = EndPage
                myReport.Export False

                '   Make printer friendly check the PDF image
                ImageReferenceNumber = InsertImage(CoCode, FileLocation)
                ReferenceNumber = GetReferenceNumber(CoCode, EmpNo, CheckNumber, Batch)
                InsertPDFImages CoCode, EmpNo, Batch, ReferenceNumber, ImageReferenceNumber

1 个答案:

答案 0 :(得分:0)

您没有处置导致内存泄漏的报表对象

每位员工使用

处理您的报告后
 for each employee
      myreport = new report

      //do all processing here

     myReport.dispose

  next employee

这应该有效