VB.NET 2005 to 2008 but still windows 2.0? Image object problem.

V

Victory

Hi,
I just used VS2008 and migrated a project from 2005 to
2008. The reason is that MSDN docs is saying the Image
object in .NET Framework 3.5 has a Finalize method, which i
want to try out since my app is processing a few image
files and then saying it is running out of memory. I am
using the Dispose method of this object to get rid of it
and then setting it to Nothing. in any case, when i used VS
2008, intellisense still does not show the Finalize method
as one of the methods of the object. Any idea why it is
still using the Image object from .net framework 2.0?
Please see code below:
thanks,
Mars


Private Function EvaluateTiffImage(ByRef displayObject
As ThreadMessageClass, ByVal fileName As String, _

ByVal startingPageNum As String, ByVal fileExt As String)
As Boolean

Dim result As Boolean = False

' count of images in the tiff file
Dim imageIndex As Integer = 0

Dim propertyValues As Byte() = Nothing
Dim compressionString As String = ""
Dim compressionValue As Int16 = 0
Dim tiffImage As Image = Nothing

displayObject.TargetWindow =
DISPLAY_ID.LIST_PROGRESS

Dim tiffData As TiffProcessingDataClass =
displayObject.MessageData

Try

' using the Imaging Managed objects
tiffImage = Image.FromFile(fileName)

If Not (tiffImage Is Nothing) Then

Dim propertyItems As
System.Drawing.Imaging.PropertyItem() =
tiffImage.PropertyItems

For propertyIndex As Integer = 0 To
propertyItems.Length

' Compression property has an id of 259
If propertyItems(propertyIndex).Id() =
259 Then

' The value of which is mapped to a
short type (i.e. Int16)
propertyValues =
propertyItems(propertyIndex).Value

' most significant bit is at higher
index
compressionString =
propertyValues(1) & propertyValues(0)
compressionValue =
Convert.ToInt16(compressionString)

tiffData.ImageCompression =
compressionValue

If ((compressionValue =
IMAGE_COMPRESSION.COMPRESSION_CCITTFAX4) And (fileExt =
".tif")) Or _
((compressionValue =
IMAGE_COMPRESSION.COMPRESSION_HUFFMAN_CCITTRLE) And
(fileExt = ".jpg")) Then

result = True
displayObject.MessageText =
"...Found " & GetCompressionName(compressionValue) & "
Compression for: <" & fileName & ">."

Else
displayObject.MessageText =
"...Error: " & GetCompressionName(compressionValue) & "
Compression: <" & fileName & ">."
displayObject.IsError = True
End If
DisplayMessage(displayObject)

' found what we are looking for
Exit For
End If
Next

Application.DoEvents()

' release the reference to the image object
imageIndex += 1

Else

displayObject.MessageText = "...Error: GDI+
error was unable to create a document for <" & fileName &
">."
displayObject.IsError = True
DisplayMessage(displayObject)

End If
Catch ex As Exception

Dim innerExceptionString As String = Nothing

If ex.InnerException Is Nothing Then
innerExceptionString = "No inner exception"
Else
innerExceptionString =
ex.InnerException.InnerException.Message
End If

displayObject.MessageText = "An exception
occurred: <" & ex.Message & ">, this error happened when "
& _

"Procedo was trying to process file: <" & fileName & ">
inner exception: <" & _

innerExceptionString & ">."
displayObject.IsError = True
displayObject.TargetWindow =
DISPLAY_ID.LIST_RESULT
DisplayMessage(displayObject)

Finally

If tiffImage IsNot Nothing Then
' tiffImage.Finalize() this line has a
syntax error when it is uncommented
tiffImage.Dispose()
tiffImage = Nothing
End If

End Try

Return result
End Function


*** Sent via Developersdex http://www.developersdex.com ***
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top