PRB: Explicitly Referring to Variables in a Module Causes Error (180787)



The information in this article applies to:

  • Microsoft Windows CE Toolkit for Visual Basic 6.0
  • Microsoft eMbedded Visual Basic 3.0

This article was previously published under Q180787

SYMPTOMS

When you explicitly refer to variables in a module, such as Module1.Variable1, the following error occurs:
An error was encountered while running this program.

RESOLUTION

When you compile Windows CE projects in Visual Basic all module information is concatenated together and module names are not retained. Thus, making the module variables public and referring to them elsewhere in the project without the module name avoids the error. Ensure that the names of those variables do not conflict with any public variables declared in any form or code module.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new Windows CE project in either Visual Basic or eMbedded Visual Basic. Form1 is created by default.
  2. Add a Standard Module to the project, named Module1 by default.
  3. Add the following code to Module1:
          Option Explicit
          Public VariableInModule
    					
  4. Add the following code to the code module of Form1:
    
          Option Explicit
    
          Private Sub Form_Click()
             'This does not work:
             Module1.VariableInModule = "Test"
          End Sub
    
          Private Sub Form_Load()
             'This works:
             VariableInModule = "Test"
             MsgBox "VariableInModule = " & VariableInModule
          End Sub
    					
  5. Press the F5 key to run the project. Note that the form load event executes as expected, and a message box is displayed showing the value of VariableInModule. However, clicking the form generates an error.

Modification Type:MinorLast Reviewed:3/11/2005
Keywords:kbpending kbprb kbToolkit KB180787