Picturebox che fa il lock del file (Anche se uso Stream!)

martedì 09 marzo 2010 - 10.41

maurizio79 Profilo | Junior Member

Ciao a tutti. Purtroppo non posso eliminare il thread, lasciate stare la mia richiesta perchè mi sono accorto che un altro form teneva aperte le immagini in questione tramite un Fromfile. Scusate ma mi sembrava proprio di averle già provate tutte.
Ciao.

Non riesco a spiegarmi questa cosa. Carico, come è normale che sia, un picturebox tramite una stream perchè non voglio che il file venga lockato. Ecco il codice VB:

Dim fs = New FileStream(dir_allegati + filename, IO.FileMode.Open, FileAccess.Read)
pbx_filecorrente.Image = System.Drawing.Image.FromStream(fs)
fs.Close()
fs.Dispose()

La cosa assurda è che il file viene lockato lo stesso e non mi è possibile eliminarlo nemmeno manualmente (E nemmeno facendo barbaramente un dispose del picturebox) fino a quando non viene chiusa l' applicazione in esecuzione. Ho controllato in lungo ed in largo ma l' unico punto del codice in cui l' immagine viene associata al picturebox è questo. Inoltre, se incollo lo stesso codice in una applicazione ex-novo e mi riferisco allo stesso file, tutto funziona come dovrebbe!
Qualcuno saprebbe aiutarmi a capire cosa succede?
Ciao e grazie, Maurizio

freeteo Profilo | Guru

Ciao,
anche se usi l'overload che ti espone il parametro di tipo "FileShare"?
Intendo questo:
... = new FileStream("...", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

maurizio79 Profilo | Junior Member

Ciao, grazie lo stesso per l' aiuto ma avevo già modificato il messaggio spiegando che avevo trovato il problema e dipendeva da un altro form che apriva lo stesso file senza usare il filestream.
Grazie lo stesso!
Ciao e grazie, Maurizio
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