Knowledge Base

PRB: Explicitly Referring to Variables in a Module Causes Error

Article ID: 180787

Article Last Modified on 3/11/2005


APPLIES TO


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.

Additional query words: vbce vbce6 wince wce evb

Keywords: kbtoolkit kbprb kbpending KB180787