Crystal Reports Max активные экземпляры - PullRequest
0 голосов
/ 25 августа 2010

У меня проблемы с загрузкой (нескольких) нескольких экземпляров CrystalDocuments ReportDocuments в память. Используя следующий код:

Dim sRPT As New ReportDocument
sRPT.Load("PATH\TO\MY.RPT")

Dim sRPTs As New List(Of ReportDocument)
For i = 0 To 100
    Dim sClone As ReportDocument = sRPT.Clone
    sClone.Refresh()

    sRPTs.Add(sClone)

    Console.WriteLine("RPT Clonado " & i.ToString())
Next

когда я достигаю 74-го экземпляра, вызов Refresh () вызывает исключение «Ошибка загрузки отчета». Кроме того, такое же исключение происходит даже при прямом вызове метода .Load (path) и влияет на все ReportDocumetns в приложении, независимо от того, какой файл RPT я загружаю / обновляю.

В настоящее время я использую Crystal XI R2, но тестирование этого кода со сборками v12 (CR 2008) закончилось той же проблемой.

Кто-нибудь когда-нибудь сталкивался с чем-то вроде этого? Причиной всех этих случаев является кэширование отчетов для нескольких файлов rpt для каждого пользователя, и, скорее всего, оно останется таким, как есть, если для этой проблемы есть обходной путь.

1 Ответ

0 голосов
/ 25 августа 2010

Я сталкивался с этим раньше, и AFAIK единственный способ обойти это, чтобы убедиться, что вы закрыли отчеты, когда вы закончите с ними.

...