maggio 2004 - Posts

Per evitare noiosi riassunti mi limito ad indicare un articolo per tutti coloro che non riescono a decidere se creare/utilizzare un Web Services o .NET Remoting:

http://msdn.microsoft.com/webservices/building/frameworkandstudio/designing/default.aspx?pull=/library/en-us/dnbda/html/bdadotnetarch16.asp

Dopo diverse prove ho verificato che l'eccezione rilevata "Invalid Parameter Used" sulla riga "Dim img As New Bitmap(stream)", dipendeva dal fatto che l'immagine era stata inserita direttamente dal database di test (access in questo caso).

Se, al contrario, l'inserimento dell'immagine è gestita da codice sempre attraverso l'utilizzo di oggetti Stream + ADO.NET, l'eccezione non viene rilevata e tutto fila liscio...

Presumibilmente il database (access, ripeto...) aggiunge degli Header da evitare durante la lettura...

Stranezze... :)

In un forum mi sono imbattuto sull'utilizzo di un oggetto OLE (un'immagine immagazzinata in un database access) e la sua visualizzazione in una picture box. Ebbene il seguente codice, anche se corretto, non funziona:

Dim bytes As Byte() = CType(myReader(3), Byte())

If bytes.Length > 0 Then

Dim stream As New MemoryStream(bytes, True)

stream.Write(bytes, 0, bytes.Length)

Dim img As New Bitmap(stream)

Me.PictureBox1.Image = img

stream.Close()

End If

Viene generata una eccezione sulla riga "Dim img As New Bitmap(stream)": Invalid Parameter Used.

Eppure l'oggetto memorizzato è una immagine.

Mah...

 

Se qualcuno di voi si è imbattuto nello stesso problema, attendo volentieri la risposta all'indirizzo fabio.cozzolino@email.it