Torna al Thread

Public Structure tileImage ... Dim tile_image As Drawing.Image ... End Structure Public Structure tileServer Dim tile_images As tileImage() ... Sub initializeTileServer(ByVal inputDataTable As DataTable) Dim tileList As New List(Of tileImage) Dim myTile As tileImage Dim myBytesBuffer As Byte() Dim myMemoryStream As IO.MemoryStream ' riduco l'array (magari precedentemente popolato) a un array nullo Me.tile_images = {} ' scorro tutta la datatable For i = 0 To inputDataTable.Rows.Count - 1 ' carico lo stream di byte myBytesBuffer = inputDataTable.Rows(i).Item("raster_image") ' metto lo stream in un nuovo memorystream myMemoryStream = New IO.MemoryStream(myBytesBuffer, 0, myBytesBuffer.Length) ' riduco l'array a un array nullo myBytesBuffer = {} '**** QUI OTTENGO L'OUTOFMEMORY EXCEPTION (LA SECONDA VOLTA) **** ' genero l'immagine dallo stream myTile.tile_image = System.Drawing.Image.FromStream(myMemoryStream) '*********************************************************** ' libero la risorsa myMemoryStream.Dispose() ' aggiungo l'immagine generata alla list tileList.Add(myTile) Next ' ritrasformo la lista in un array, ripopolando così l'array tile_images = tileList.ToArray ' elimino tutti gli elementi dalla lista tileList.Clear() End Sub
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5