Article: Q177703
Product(s): Microsoft Visual Basic for Windows
Version(s): 5.0
Operating System(s):
Keyword(s): kbCtrlCreate kbVBp kbVBp500bug kbVBp600fix kbVS97sp2 kbGrpDSVB kbDSupport kbControl
Last Modified: 27-JAN-2001
-------------------------------------------------------------------------------
The information in this article applies to:
- Microsoft Visual Basic Professional Edition for Windows, version 5.0
- Microsoft Visual Basic Enterprise Edition for Windows, version 5.0
-------------------------------------------------------------------------------
SYMPTOMS
========
When exiting a Visual Basic 5.0 ActiveX Control project in the design
environment, an Access Violation error occurs and Visual Basic is terminated.
CAUSE
=====
This problem can occur when declaring Public Enum in the UserControl module when
running Visual Studio 97 Service Pack 2 (SP2.)
RESOLUTION
==========
Move the Public Enums to a standard (.bas) module instead of the UserControl
module.
STATUS
======
Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article. This bug has been fixed in Visual Basic 6.0.
MORE INFORMATION
================
Steps to Reproduce Behavior
---------------------------
NOTE: To reproduce the problem, you must have Visual Studio 97 Service Pack 2
installed.
1. Create a new ActiveX control project.
2. Add another UserControl to the project so you have UserControl1 and
UserControl2.
3. Place UserControl2 inside UserControl1.
4. Add the following code to UserControl1:
Option Explicit
Public Enum BorderStyle_Type
None = 1
FixedSingle = 2
End Enum
Public Enum Appearance_Type
Flat = 1
ThreeDimensional = 2
End Enum
5. Close the design windows of UserControl1 and UserControl2.
6. Add a Standard EXE project so that you have a project group. Form1 is created
by default.
7. Add UserControl1 to Form1.
8. Optional: Save the project group.
9. Exit Visual Basic to close the project group.
In Windows 2000, you receive the following error:
The instruction at "0x0fb20cc8" referenced memory at "0x00000010". The memory
could not be read.
In Windows NT 4.0, Service Pack 3 you receive the following error:
Access Violation in VB5.exe at 0x0fb25f69
In Windows 95, Windows 98, or Windows Me, you receive the following error:
VB5 caused an invalid page fault in module VBA5.DLL
Additional query words: IPF GPF crash
======================================================================
Keywords : kbCtrlCreate kbVBp kbVBp500bug kbVBp600fix kbVS97sp2 kbGrpDSVB kbDSupport kbControl
Technology : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVBA500 kbVB500
Version : :5.0
Issue type : kbbug
Solution Type : kbfix
=============================================================================