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