Microsoft KB Archive/171839

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Article ID: 171839

Article Last Modified on 12/10/2003



APPLIES TO

  • Microsoft Visual Basic 5.0 Control Creation Edition
  • Microsoft Visual Basic 5.0 Learning Edition
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition



This article was previously published under Q171839

SYMPTOMS

When compiling code that calls a function in a UserControl that accepts a ParamArray as an argument, Visual Basic may crash with an error similar to the following;

"VB5 caused an invalid page fault in module VBA5.DLL at <address>"

CAUSE

If the values passed to the ParamArray argument are empty or null, Visual Basic 5.0 will crash.

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 Studio 97 Service Pack 2.

For more information on the Visual Studio 97 Service Pack 2, please see the following article in the Microsoft Knowledge Base:

170365 INFO: Visual Studio 97 Service Packs - What, Where, and Why


For a list of the Visual Basic 5.0 bugs that were fixed in the Visual Studio 97 Service Pack 2, please see the following article in the Microsoft Knowledge Base:

171554 INFO: Visual Basic 5.0 Fixes in Visual Studio 97 Service Pack 2


MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Standard EXE project in Visual Basic 5.0. Form1 will be created by default.
  2. Add a UserControl to the Project by choosing Add UserControl from the Project menu.
  3. View the code window for the UserControl. In the General Declarations section, place the following code:

          Function WatchOut(ParamArray Col() As Variant) As Boolean
    
          End Function
                            
  4. Close the UserControl.
  5. Add the UserControl to Form1 by selecting the UserControl from the Toolbox. The UserControl will be named UserControl11 by default.
  6. View the code window for Form1. In the Load event for Form1, add he following code:

          UserControl11.WatchOut ,,,,vbNullString
                            
  7. Run the Application. Visual Basic will crash with an error similar to the one described above.


Keywords: kbbug kbfix kbvbp500sp2fix kbvs97sp2fix KB171839