Crystal Reports 2010 Не удается загрузить все отчеты после экспорта отчета в любой формат в WindowsXP - PullRequest
1 голос
/ 28 апреля 2011

У меня есть решение для выставления счетов WPF, которое развернуто с использованием ClickOnce для более чем 500 пользователей, CrystaReports2010 использовалось для отчетов, 85% пользователей установили WindowsXP на своих компьютерах: (

Crystal Reports работает простоштраф на компьютерах с WindowsXP до тех пор, пока пользователь не экспортирует отчет с помощью встроенной кнопки экспорта в Crystal Reports Viewer, если он сделал это, процесс экспорта завершился успешно, но он не может открыть любой другой отчет в решении, пока он не перезапуститприложение.

Export Button

Это ошибка при попытке открыть новый отчет после экспорта:

The Error Message

Я сохраняюсообщает в моем решении как контент внешних ресурсов за пределами файла .exe приложения, и я загружаю их по требованию, что-то вроде этого:

var report = new ReportDocument();
report.Load(@"Reports\MyReport.rpt");

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

Если я чизменил мою реализацию так, чтобы я сохранял отчеты в своем решении как встроенные ресурсы, проблема решена, но это не вариант, поскольку отчеты имеют относительно большой размер (200–450 КБ), это будет большой файл DLL, который будетзагружаться клиентам через ClickOnce каждый раз, когда мы выпускаем новую версию, в которой есть какие-либо изменения в любом отчете !.Другой вариант состоит в том, чтобы сгруппировать каждый, скажем, четыре отчета в одну DLL, и все та же проблема (1МБ-2МБ по-прежнему большой кусок).Зная, что у нас много отчетов, и мы получаем частый запрос на изменение этих отчетов в соответствии с изменениями в политиках наших клиентов.Пожалуйста, помогите!

Ответы [ 3 ]

1 голос
/ 18 апреля 2012

Вы закрываете и утилизируете свои документы отчета, как только закончите с ними?

1 голос
/ 24 апреля 2012

Наконец-то я нашел решение :) Проблема заключалась в том, что при экспорте Crystal Report с кнопкой экспорта по умолчанию, предоставляемой средством просмотра Crystal Reports, кнопка экспорта изменяет текущий рабочий каталог приложения на место экспорта!!!(странное поведение !!) и вот почему следующая строка больше не будет работать:

report.Load(@"Reports\MyReport.rpt");

Поэтому я изменил эту строку на следующую:

report.Load(AppDomain.CurrentDomain.BaseDirectory + "\\" + @"Reports\MyReport.rpt");

И она работала так же, как магия:)

1 голос
/ 17 января 2012

Чтобы решить эту проблему, необходимо изменить установленную версию .net на клиентском компьютере с профиля клиента на полную версию .net.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...