DOCUMENT:Q180787 16-NOV-2001 [vbwin] TITLE :PRB: Explicitly Referring to Variables in a Module Causes Error PRODUCT :Microsoft Visual Basic for Windows PROD/VER::3.0 OPER/SYS: KEYWORDS:kbToolkit kbVBp500 kbVBp600 kbOSWinCE100 kbGrpDSVB ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Windows CE Toolkit for Visual Basic 6.0 - Microsoft eMbedded Visual Basic, version 3.0 ------------------------------------------------------------------------------- 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 kbVBp500 kbVBp600 kbOSWinCE100 kbGrpDSVB Technology : kbVBSearch kbAudDeveloper kbZNotKeyword2 kbVBeMbSearch kbWinCETKVBSearch kbWinCESearch kbVBeMb300 Version : :3.0 Issue type : kbprb Solution Type : kbpending ============================================================================= THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 2001.