Сбой приложения Viewer Report Viewer при выходе после экспорта - PullRequest
0 голосов
/ 21 апреля 2010

У нас есть приложение .NET Winforms, в котором размещается элемент управления Crystal Reports Viewer (версия XI). По большей части он работает хорошо, но при выполнении экспорта данных из программы просмотра приложение завершится сбоем при выходе и в неуправляемом коде . Сообщение об ошибке не очень полезно и просто говорит, что к неправильной ячейке памяти обращались. Никакой другой информации, такой как конкретная DLL и т. Д., Не предоставляется.

Это происходит только после , когда средство просмотра используется для экспорта отчета в CSV, XML и т. Д. Я предполагаю, что в какой-то момент в процессе экспорта Crystal создает ресурс, который пытается выполнить действие при закрытии родительское окно (возможно), которое больше не существует.

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

До сих пор мы пытались явно избавиться от всех связанных с кристаллами объектов, установив значение null и даже установив цикл Thread.Sleep на выключение, чтобы «дать Crystal время на очистку».

Обновление:

  • Сбой происходит только при выключении (поэтому не сразу)
  • Все форматы экспорта работают
  • Все файлы экспорта созданы правильно
  • CR установлен на той же машине, что и хост-приложение .NET
  • не уверен насчет экспорта из IDE ... это вообще возможно?

1 Ответ

0 голосов
/ 21 апреля 2010

Проверьте код, чтобы убедиться, что вы открываете объект Crystal Application только один раз в течение жизненного цикла приложения. Это предотвратит чрезмерное использование памяти, которое может стать причиной ваших сбоев. Очевидно, что вы можете открывать и закрывать отчеты по желанию.

...