У нас есть приложение .NET Winforms, в котором размещается элемент управления Crystal Reports Viewer (версия XI). По большей части он работает хорошо, но при выполнении экспорта данных из программы просмотра приложение завершится сбоем при выходе и в неуправляемом коде . Сообщение об ошибке не очень полезно и просто говорит, что к неправильной ячейке памяти обращались. Никакой другой информации, такой как конкретная DLL и т. Д., Не предоставляется.
Это происходит только после , когда средство просмотра используется для экспорта отчета в CSV, XML и т. Д. Я предполагаю, что в какой-то момент в процессе экспорта Crystal создает ресурс, который пытается выполнить действие при закрытии родительское окно (возможно), которое больше не существует.
Я видел несколько утечек памяти и закрыл проблемы с Кристаллом, но этот новый. Кто-нибудь видел это и придумал обходной путь или есть идеи для обходных путей?
До сих пор мы пытались явно избавиться от всех связанных с кристаллами объектов, установив значение null и даже установив цикл Thread.Sleep на выключение, чтобы «дать Crystal время на очистку».
Обновление:
- Сбой происходит только при выключении (поэтому не сразу)
- Все форматы экспорта работают
- Все файлы экспорта созданы правильно
- CR установлен на той же машине, что и хост-приложение .NET
- не уверен насчет экспорта из IDE ... это вообще возможно?