powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Непонятная ошибка CR 9.2 .NET
21 сообщений из 21, страница 1 из 1
Непонятная ошибка CR 9.2 .NET
    #32977034
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В формочке имеется просмотровщик CrystalReportViewer.
При закрытии формы выдается странная ошибка.
Причем возникает она только в случае, если форма закрывается чуточку ДО полного появления отчета на экране. Т.е., если ему дать отобразить отчет полностью, то потом закрывается все нормально, иначе - выдается ошибка.
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977044
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое обидное, что в сообщении нет ссылки на строку в моем коде... И что делать с этим не понятно... А если сделать jitDebugging - тоже сильно не помогает...
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977045
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BusyManВ формочке имеется просмотровщик CrystalReportViewer.
При закрытии формы выдается странная ошибка.
Причем возникает она только в случае, если форма закрывается чуточку ДО полного появления отчета на экране. Т.е., если ему дать отобразить отчет полностью, то потом закрывается все нормально, иначе - выдается ошибка. Именно эта ошибка означает, что происходит попытка обращения к методам или свойствам объекта, который помечен "к удалению" (Disposed). Т.е. при закрытии формы CrystalReportViewer "удаляется" раньше, чем в него заканчивает загружаться отчет.

Такова физика процесса.
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977055
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что мне делать то в этом случае?
Как прервать загрузку отчета?
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977114
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BusyManА что мне делать то в этом случае?
Как прервать загрузку отчета? Думаю что никак. Придется дождаться загрузки отчета и не давать выгрузить форму до того, как эта загрузка закончится (в событии Closing выставлять e.Cancel=true)
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977117
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Kudinov Придется дождаться загрузки отчета и не давать выгрузить форму до того, как эта загрузка закончится (в событии Closing выставлять e.Cancel=true)
А как определить, что процесс загрузки уже завершен?
Когда я делаю
[src][/src]- оно передает мне управление еще до того, как отчет полностью отобразится (хоть там и 1 страничка).
Надо как-то при закрытии проверять - загрузился или нет отчет.
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977125
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я имел в виду
Код: plaintext
 RV.ReportSource = ...
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977142
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
CrystalDecisions.CrystalReports.Engine.ReportDocument.IsLoaded
- Тоже не помогает
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977150
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите еще на событие ReportDocument.InitReport
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977163
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KudinovПосмотрите еще на событие ReportDocument.InitReport
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
         Private WithEvents CurReport As CrystalDecisions.CrystalReports.Engine.ReportDocument
...
         RV.ReportSource = CurReport
...
   Private Sub CurReport_InitReport(ByVal sender As Object, ByVal e As System.EventArgs) Handles CurReport.InitReport
      CurReportMayBeClosed = True
   End Sub
- СОБЫТИЕ НЕ ВОЗНИКАЕТ!
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977168
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно посмотреть на весь код ?
Интересует как создается и загружается CurReport (т.е. когда вызывается его метод Load)
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977177
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 If RV Is Nothing Then
         RV = New CrystalDecisions.Windows.Forms.CrystalReportViewer
         Me.PanelRV.Controls.Add(RV)
         RV.Dock = DockStyle.Fill
         RV.DisplayGroupTree = False
         RV.BringToFront()
      End If

         CurReportMayBeClosed = False
         Me.CurReport = Report(d, AnotherTemplate)
         RV.ReportSource = CurReport
         RV.Visible = True
      

А функция Report:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Function Report(ByVal doc As comDocument, _
   Optional ByVal AnotherTemplate As comDocumentTemplate = Nothing) _
   As CrystalDecisions.CrystalReports.Engine.ReportDocument
      Dim docTemplate As comDocumentTemplate = doc.Template
      If Not (AnotherTemplate Is Nothing) Then docTemplate = AnotherTemplate
      Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument

      Dim fnm As String = MainModule.ServerPath("Buh", Trim(docTemplate.TemplateFileName))
      If SUPERVISOR() Then MF.StatusRefresh(fnm)
      rpt.Load(fnm)
      Crystal.CrystalReportBuhLogon(rpt)
      Crystal.CrystalReportBuhSetParams(rpt, doc.ID, doc.Official, doc.Year, doc.T, doc.DopID)

      rpt.PrintOptions.PaperOrientation = docTemplate.PageOrientation

      Return rpt
   End Function
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977199
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе, проблема бы решилась, если отловить это исключение и проигнорировать. Но, как сделать чтобы такие события отлавливались только в конкретной процедуре????

По всей программе делается так:
Код: plaintext
 <system.windows.forms jitDebugging="true" />

Но у меня главная форма вызывается из Main: MF.ShowDialog
Т.е. если "игнорировать" эту ошибку - то программа закроется.
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977223
Alexey Kudinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас загрузка отчета происходит ДО присвоения ссылки переменной CurReport
Попробуйте так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Function Report(ByVal doc As comDocument, _
   Optional ByVal AnotherTemplate As comDocumentTemplate = Nothing) _
   As CrystalDecisions.CrystalReports.Engine.ReportDocument
      Dim docTemplate As comDocumentTemplate = doc.Template
      If Not (AnotherTemplate Is Nothing) Then docTemplate = AnotherTemplate
      Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument

      Dim fnm As String = MainModule.ServerPath("Buh", Trim(docTemplate.TemplateFileName))
      If SUPERVISOR() Then MF.StatusRefresh(fnm)
      AddHandler rpt.InitReport, AddressOf CurReport_InitReport
      rpt.Load(fnm)
      Crystal.CrystalReportBuhLogon(rpt)
      Crystal.CrystalReportBuhSetParams(rpt, doc.ID, doc.Official, doc.Year, doc.T, doc.DopID)

      rpt.PrintOptions.PaperOrientation = docTemplate.PageOrientation

      Return rpt
   End Function
 
По общей обработке ошибок продолжим в форуме VB.Net
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977243
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то тоже не реагирует....
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977246
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то тоже не реагирует....
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32977252
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
AddHandler rpt.InitReport, AddressOf Report_InitReport
- Стало реагировать, если обработчик добавлять ДО того как он сформируется.
Но, почему-то он 2 раза выскакивает событие.
прием первое - еще до того, как отчет начнет показываться, а второе - мне кажется тоже слишком рано появляется...
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #32989828
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто ничего не придумал?
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #33159301
.ES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я завёл флаг, который устанавливаю в TRUE непосредственно перед присваиванием
crystalReportViewer1.ReportSource = reportDocument1,
а сбрасываю по событию crystalReportViewer1.Paint.
Вроде работает...
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #33172244
Фотография BusyMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
.ESЯ завёл флаг, который устанавливаю в TRUE непосредственно перед присваиванием
crystalReportViewer1.ReportSource = reportDocument1,
а сбрасываю по событию crystalReportViewer1.Paint.
Вроде работает... КАКОЙ ФЛАГ???
...
Рейтинг: 0 / 0
Непонятная ошибка CR 9.2 .NET
    #33173285
.ES
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Флагом в программировании обычно называют один бит (или булеву переменную):)

Кстати, когда я писал предыдущий пост, отчётливо помню, что событие Paint вызывалось только один раз - после отрисовки отчёта, а сейчас уже два раза - ещё и при инициализации отчёта (как и должно быть, по логике) и уже не работает, как было задумано (у меня "please wait" выводится). Вроде трезвый был... В общем, идея понятна, надеюсь.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Непонятная ошибка CR 9.2 .NET
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]