Link to home
Start Free TrialLog in
Avatar of P.J. Hughes
P.J. HughesFlag for United States of America

asked on

exception code 0xc0000005 help

Exception Code 0xc0000005

I am having a problem that I cannot completely understand.  I have written a VB 6 program that will create an image from a bytearray without writing it to a file on the hard drive.  It is very important that all of this is done in memory and the image is not written to a file.

The function I use to do this is from Edanmo's OLE Interfaces & Functions v1.81 (from http://www.mvps.org/emorcillo/en/index.shtml) and here is the code:

Public Function LoadImage( _
   ImageBytes() As Byte) As StdPicture
Dim oPersist As IPersistStream
Dim oStream As IStream
Dim lSize As Long
 
   ' Calculate the array size
   lSize = UBound(ImageBytes) - LBound(ImageBytes) + 1
   
   ' Create a stream object
   ' in global memory
   Set oStream = CreateStreamOnHGlobal(0, True)
   
   ' Write the header to the stream
   oStream.Write &H746C&, 4&
   
   ' Write the array size
   oStream.Write lSize, 4&
   
   ' Write the image data
   oStream.Write ImageBytes(LBound(ImageBytes)), lSize
   
   ' Move the stream position to
   ' the start of the stream
   oStream.Seek 0, STREAM_SEEK_SET
     
   ' Create a new empty picture object
   Set LoadImage = New StdPicture
   
   ' Get the IPersistStream interface
   ' of the picture object
   Set oPersist = LoadImage
   
   ' Load the picture from the stream
   oPersist.Load oStream
     
   ' Release the streamobject
   Set oStream = Nothing
   
End Function

In my program there are several different buttons that can be clicked.  Each button will load a series of images to be shown on another form.  When clicking the second of these buttons, I receive an error "Analyzer has encountered a problem and needs to close.  We are sorry about the inconvenience." and it allows me to send an error report.  Viewing the technical data it shows an exception code 0xc0000005.  By adding message boxes to the program I have narrowed the error down to the line: oPersist.Load oStream while loading the 5th picture every time.

Here is what I do not fully understand about this issue.  I get the error every time I open the program and only click the second button.  If I open the program, click the first button, click a few others and then click the second button, it works fine.  It works fine on any development machines where I could debug the code as well.  The only machines where it errors are the ones I need it to not error on.

I have made sure I have all needed license files and ocx files in the system32 folder.  Running Adaware has come up with no spyware that could have caused the error.  Any suggestions?
ASKER CERTIFIED SOLUTION
Avatar of P.J. Hughes
P.J. Hughes
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of P.J. Hughes

ASKER

The Windows update seems to have only been a temporary solution.  This morning the error persists.  How do I mark this as an open question again?