У меня проблемы с загрузкой (нескольких) нескольких экземпляров 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 для каждого пользователя, и, скорее всего, оно останется таким, как есть, если для этой проблемы есть обходной путь.