Knowledge Base

BUG: GetSetting Causes GP Fault in Vba2.dll

Article ID: 162621

Article Last Modified on 6/29/2004


APPLIES TO


This article was previously published under Q162621

SYMPTOMS

When you use the GetSetting Function in Visual Basic 4.0, 16-bit, you may receive a General Protection Fault in Module Vba2.dll at 0011:360C. This error is likely to occur if you use an uninitialized, variable-length string as the argument for the default value of GetSetting.

RESOLUTION

To resolve the problem, use a fixed-length string or assign a value to the string. For example, modify the Load event code of Form1 in step 2 of the Steps to Reproduce Problem section of this article to the following:
   Dim DefaultValue As String
   DefaultValue = ""
   Call GetSetting ("MyINI", "SectionName", "KeyValue", DefaultValue)
				
-or-
   Dim DefaultValue As String * 40
   Call (GetSetting "MyINI", "SectionName", "KeyValue", DefaultValue)
				

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Problem

  1. Start Visual Basic 4.0, 16-bit Edition. Form1 is created by default.
  2. In the Load event for Form1, place the following lines of code:
       Dim DefaultValue As String
       Call GetSetting ("MyINI", "SectionName", "KeyValue", DefaultValue)
    						
  3. Press the F5 key to run the project.
  4. A General Protection fault occurs in Module Vba2.dll at 0011:360C.

Additional query words: kbVBp400bug kbdss kbDSupport kbVBp kbNoKeyWord

Keywords: kbbug KB162621