2017-01-04 11 views
0

Привет всем Я получаю следующую ошибку в производстве хрустальных отчетов. Я попробовал repordocument diposal. и увеличение значений реестра, оба случая не работают. прилагается ошибка ниже enter image description hereКристаллический отчет prinjoblimit превышает ошибку. Пробужденный объект-дипосаль расширенный реестр не используется

enter image description here

[EDIT]

пожалуйста, проверьте ниже мой код это мой точный код сценария

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    Try 
     If rpt IsNot Nothing Then 
      For Each t As Table In rpt.Database.Tables 
       t.Dispose() 
      Next 
      rpt.Close() 
      rpt.Dispose() 
      rpt = Nothing 
      ' GC.Collect() 
     End If 
    Catch ex As Exception 

    End Try 

    'Session("RPTManagmentName") = Session("RPTManagmentName") & " - " & Session("RPTBranchName") 
    rpt = New ReportDocument 
    Select Case Request.QueryString("RPT") 
     Case 6 
      Dim Report As CrystalDecisions.CrystalReports.Engine.ReportDocument = New CrystalDecisions.CrystalReports.Engine.ReportDocument 
      Report.Load(Server.MapPath("Reports/RPTBalances.rpt")) 
      Report.SetDataSource(Session("BalancesReportDataSet").Tables(0)) 
      Report.SetParameterValue("ManagmentName", Session("RPTManagmentName")) 
      Report.SetParameterValue("BranchName", Session("RPTBranchName")) 
      Report.SetParameterValue("AccountName", Session("RPTAccountName")) 
      Report.SetParameterValue(" FromDate", CStr(Session("RPTFromDate"))) 
      Report.SetParameterValue("ToDate", CStr(Session("RPTToDate"))) 

      Session("report") = Report 
     End Select 

    CRVShow.ReportSource = rpt 
    CRVShow.DataBind() 

End Sub 


Protected Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Unload 
     Try 
     If rpt IsNot Nothing Then 
      For Each t As Table In rpt.Database.Tables 
       t.Dispose() 
      Next 
      rpt.Close() 
      rpt.Dispose() 
      rpt = Nothing 
      ' GC.Collect() 
     End If 

     If CRVShow IsNot Nothing Then 
      CRVShow.ReportSource = Nothing 
      CRVShow.Dispose() 
      CRVShow = Nothing 
     End If 
    Catch ex As Exception 

    End Try 

    Try 
     rpt.Close() 
     rpt.Dispose() 
    Catch ex As Exception 

    End Try 
End Sub 
+0

кому угодно ответьте? – Sabeena

+1

Серьезно вы делаете снимок на свой монитор, вместо того чтобы снимать снимок экрана? –

+1

это действительно важно ??? Если да, то я объясню .. это произошло на рабочем сервере, они поделили меня этим с whatsapp .. так что очевидно, что у меня появилась мобильная привязка, надеюсь, теперь ясно ... попробуйте помочь в исправлении проблемы сейчас ... спасибо заранее – Sabeena

ответ

2

Я рекомендовал бы двигая закрыть/распоряжаться/GC.Collect кода за пределами этого процесса разгрузки. Другими словами:

  1. отчета Load
  2. Присвоить Viewer Control
  3. Показать отчет в окне просмотра Control
  4. Закройте окно просмотра и управления Unload (полностью)
  5. Затем закрыть/распоряжаться/GC.Collect снаружи от любого управляющего кода зрителя

Моя догадка - контроль зрителя не полностью закрыт, когда отчет очищается.

Crystal - очень интенсивный процесс с интенсивной памятью и очень тонкий.

+0

не могли бы вы помочь мне в этом, как это сделать? отредактирован с моим кодом. – Sabeena

+1

Затем закройте/удалите/gc.collect вне любого кода управления зрителем , пожалуйста, объясните мне, как это сделать. Я новичок в хрустальных отчетах. – Sabeena