Solved

exception code 0xc0000005 help

Posted on 2008-10-28
2
1,230 Views
Last Modified: 2012-05-05
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?
0
Comment
Question by:4county
  • 2
2 Comments
 

Accepted Solution

by:
4county earned 0 total points
ID: 22825469
I beat you all to the solution.  It seems that running a simple Windows Update fixed the issue.
0
 

Author Comment

by:4county
ID: 22830268
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?
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question