Problema lentezza su new reportdocument

giovedì 19 marzo 2009 - 18.44

simonescapin Profilo | Newbie

Io ho il seguente problema ..
Quando lancio la creazione di un pdf mi ci sta ben 2 secondi solo per caricare l'oggetto ..
cioè mi sta due secondi nella procedura
Dim cr As New ReportDocument

c'è la possibilità di ridurre il seguente tempo??????????????????????

luxsor Profilo | Guru

Ciao Simone,
se ci puoi postare il codice che usi, così possiamo verificiare.


simonescapin Profilo | Newbie

Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared

Private Sub CreaPdf()
Try
-----Qui è lento ------
Dim cr As New ReportDocument
-----Da qui in poi va bene -----------
Dim ExportOpts As New ExportOptions
Dim diskOpts = New DiskFileDestinationOptions()

' MsgBox(vNomeFileOvl)
cr.Load(vNomeFileOvl)
' MsgBox(vSessioneAs)
cr.RecordSelectionFormula = "{Spool.Sessione}='" & Me.vSessioneAs & "'"
cr.Refresh()
ExportOpts = cr.ExportOptions

If File.Exists(Me.vPercorsoPDF & Me.vNomeFilePdf) Then

File.Delete(Me.vPercorsoPDF & Me.vNomeFilePdf)

End If

'// Imposta il formato di esportazione.
ExportOpts.ExportFormatType = ExportFormatType.PortableDocFormat
ExportOpts.ExportDestinationType = ExportDestinationType.DiskFile

cr.ReportOptions.InitialReportPartName = Me.vNomeFilePdf


'// Imposta le opzioni relative al file del disco
diskOpts.DiskFileName = Me.vPercorsoPDF & Me.vNomeFilePdf ' Me.vNomeFilePdf

ExportOpts.DestinationOptions = diskOpts
'// Esportazione del report
cr.Export()

Catch exp As Exception
MsgBox(" ERRORE CREAZIONE PDF. " & vbCrLf & vbCrLf & exp.Message, MsgBoxStyle.Critical, "ERRORE")
End Try
End Sub

luxsor Profilo | Guru

Ciao Simone,
ho testato il tuo codice, con un report di prova (senza connessione al DB), ma non ho riscontrato nessun ritardo soprattutto nella creazione dell'istanza del CR.

Prova a fare anche tu questa prova, cioè usa lo stesso codice ma creati un report di prova senza connessione ad una sorgente dati.
Se il problema persiste non è dovuto più al codice, ma al PC.

Fammi sapere



simonescapin Profilo | Newbie

ma io al punto cr=new reportdocument non ho ancora assegnato che report deve aprire... quindi cosa ci può entrare il report???????

luxsor Profilo | Guru

Allora potrebbe dipendere dal PC.
Controlla utilizzo della memoria quando lanci il programma.

simonescapin Profilo | Newbie

Controllato l'utilizzo della memoria e noto solo che sembra un utilizzo regolare .. cmq il problema di questa lentezza lo noto su tutti i pc ... sembrerebbe che quando assegno cr = new report.document il programma tiri su tutti i componenti di crystal report...soluzione????

luxsor Profilo | Guru

Escludento il problema del PC.
Prova a creare un nuovo progetto vuoto e istanzia un nuovo crystal report.
Se questo problema lo riscontri anche con un progetto nuovo, controlla che riferimenti hai dei namespace CR e controlla le opzioni di compilazione, non vorrei che il problema fosse li.

Altrimenti reinstalla le librerie di Crystal Report.

Fammi sapere

simonescapin Profilo | Newbie

la lentezza è dovuta dal caricamento del crystal report engine e non posso fare un caricamento fasullo...poichè il programma viene lanciato dall'esterno e serve solo per fare questa stampa..... c'è un modo per velocizzare il caricamento????????

luxsor Profilo | Guru

Fai il Load del report nell'evento Load del form.

Ciao


------------------------
Luxsor
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5