Chiusura e riapertura file PDF - errore 91

domenica 12 ottobre 2008 - 15.51

ans66 Profilo | Junior Member

Ho inserito un bottone (Button2) in un form e vorrei stampare il contenuto di un Textbox su un file PDF. Se clicco il pulsante due volte cambiando il contenuto del Textbox vorrei chiudere il precdente file, riaprirlo per stampare il contenuto Textbox aggiornato. Questo non avviene perche` non riesco a bypassare l'errore 91 e il prblema della ricorsivita`... (allego file sorgente)

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim FilePDF As System.IO.FileStream = New System.IO.FileStream(dirDoc & "\" & ord, System.IO.FileMode.OpenOrCreate)
Dim Doc As com.lowagie.text.Document
Doc = New com.lowagie.text.Document
Doc.addAuthor("Antonio Summo")
Dim writer1 As com.lowagie.text.pdf.PdfWriter = com.lowagie.text.pdf.PdfWriter.getInstance(Doc, FilePDF)
Try


Doc.open()
Call intestazione(Doc, writer1)

Catch ex As Exception
If Err.Number = 91 Then
Doc.close()
FilePDF.Close()
Me.Button2_Click(sender, e)
Else
MessageBox.Show(ex.Message)
End If
End Try
End Sub

Lanello Profilo | Senior Member

Ciao ;)

>Dim writer1 As com.lowagie.text.pdf.PdfWriter = com.lowagie.text.pdf.PdfWriter.getInstance(Doc,

mi sa che devi chiudere il writer1

> Catch ex As Exception
> If Err.Number = 91 Then
> Doc.close()
> FilePDF.Close()
> Me.Button2_Click(sender, e)
> Else

non conosco la libreria che stai usando... ma visto che hai chiuso tutto meno che il "writer"... fammi sapere se ti sono stato d'aiuto
----------------------------------------------------------------------
http://www.flashinlabs.biz o .com o .net o .it fate voi :P

ans66 Profilo | Junior Member

ho seguito il tuo consiglio e sono arrivato al codice sotto indicato (tieni presente che ho provato anche a ricreare le variabili con New) ma comunque ho il seguente errore "il processo non puo` accedere al file '.......pdf' perche` in uso da un altro processo [errore 57]

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim FilePDF As System.IO.FileStream = New System.IO.FileStream(dirDoc & "\" & ord, System.IO.FileMode.OpenOrCreate)
Dim Doc As com.lowagie.text.Document
Doc = New com.lowagie.text.Document
Doc.addAuthor("Antonio Summo")
Dim writer1 As com.lowagie.text.pdf.PdfWriter = com.lowagie.text.pdf.PdfWriter.getInstance(Doc, FilePDF)
Try
Doc.open()
Call intestazione(Doc, writer1)

Catch ex As Exception
If Err.Number = 91 Then
Doc.close()
FilePDF.Close()
writer1.close()
writer1 = New com.lowagie.text.pdf.PdfWriter
writer1 = com.lowagie.text.pdf.PdfWriter.getInstance(Doc, FilePDF)
FilePDF = New System.IO.FileStream(dirDoc & "\" & ord, System.IO.FileMode.OpenOrCreate)
MessageBox.Show("errore:" & Err.Number)
'Me.Button2_Click(sender, e)
'Else
'MessageBox.Show(ex.Message)
End If
End Try
End Sub
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