Crystal Reports загружается в зависимости от настроения - PullRequest
2 голосов
/ 14 июня 2011

У меня есть Crystal Report Viewer на формах Windows.

Средство просмотра отчетов имеет один связанный отчет. Я передаю 24 параметра программно. Когда я пытаюсь запустить программу, иногда отображаются отчеты, а иногда зависает программное обеспечение.

Я передаю одни и те же данные каждый раз в отчет. Нет ошибок времени компиляции. Когда я выполняю пошаговую отладку, то каждый раз, когда отчет загружается идеально и никаких зависаний.

Что может быть причиной этого угрюмого открытия отчета ????

Edit1:

Во время пошаговой отладки я обнаружил, что присвоение reportsource CrystalReportViewer приводит к зависанию программного обеспечения.

 goldBillReport = new GoldBill();
 crystalReportViewer1.ReportSource = goldBillReport; //Hangs after this !!
 SetGoldParameters();

Редактировать 2 : Я изменил сценарий, теперь я беру простую форму окон, добавляю в нее средство просмотра отчетов Crystal. Во-вторых, я создаю пустой отчет Crystal.

Теперь я записываю следующие строки в событие загрузки формы формы Windows, в которой содержится средство просмотра.

goldBillReport = new BillReport();
crystalReportViewer1.ReportSource = goldBillReport ;

80% случаев, когда я загружаю форму, отображается пустой отчет (по мере необходимости). Оставшееся время ничего не показывает и приложение просто зависает. Почему?

Примечание: мое настоящее приложение очень большое. Проблема в том, что программе не хватает места в памяти для открытия отчета. Если да, то есть ли способы собрать мусор?

Заранее спасибо

1 Ответ

2 голосов
/ 15 июня 2011

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

Кроме того, у меня была проблема, когда в первый раз я запускал отчет, он был очень медленным. Решением этой проблемы была загрузка временного отчета во время запуска приложения (за заставкой). Это обеспечило полную загрузку DLL-библиотеки Crystal Report до того, как пользователь сможет сгенерировать отчет. После этого отчеты каждый раз загружались в течение нескольких секунд.

...