#vb.net #crystal-reports
Вопрос:
Этот вопрос может быть распространенным, но мой подход совершенно отличается от других.
Пожалуйста, ответьте на этот вопрос один раз.
Следующий код находится в форме, скажем Form1.vb
Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
Dim rpt As New ReportDocument
rpt = checkReport()
DisplayReport(rpt)
End Sub
Private Function checkReport() As ReportDocument
checkReport = New ReportDocument
Try
Select Case Data
Case "BILLFORMAT"
checkReport = New Bill
Case "BILLFORMAT1"
checkReport = New Bill1
Case "BILLFORMAT2"
checkReport = New Bill2
Case "BILLFORMAT3"
checkReport = New Bill3
End Select
Catch ex As Exception
Throw
End Try
Return checkReport
End Function
В модуле ModReport
Public Sub DisplayReport(ByVal orptname As ReportDocument)
With orptname
.DataSourceConnections.Clear()
.DataSourceConnections.Item(0).SetConnection("tcp:" PubServer "," PubPort, Pubdbname, PubUid, PubPwd)
.SetParameterValue("@CompYear", PubYear1)
.SetParameterValue("@CompNo", mComp1)
.SummaryInfo.ReportTitle = "REPORTXYZ"
CReports.CRViewer.ReportSource = rpt
CReports.CRViewer.Zoom(150)
CReports.BringToFront()
CReports.Show()
End With
CReports
является формой vb, которая содержит закрепленный crystalreportviewer с именем CRViewer
В CReports я даже написал следующее, чтобы удалить переменные отчета в кнопке выхода
CRViewer.ReportSource.Close()
CRViewer.ReportSource.Dispose()
CRViewer.Dispose()
Me.Close()
Какое-то время все работает нормально, но после некоторой работы он выдает сообщение об ошибке «Ошибка загрузки».
Я делаю что-то не так? Есть ли какой-нибудь способ устранить эту ошибку?