Using Named COMMON /SYMBOL/ May Cause "String Space Corrupt" (47565)






This article was previously published under Q47565

SYMPTOMS

When running a program from the QuickBasic QB.EXE environment Version 4.50, 4.00b, or 4.00, a "string space corrupt" error message can occur, dumping you back to DOS, when all of the following conditions occur together:

  1. The program contains a named COMMON block with the name of /SYMBOL/.
  2. The named COMMON block contains a variable-length STRING.
  3. Any Quick library has been loaded.

STATUS

Microsoft has confirmed this to be a bug in QuickBasic Versions 4.00, 4.00b, and 4.50. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

This problem does not occur in the Microsoft Basic Professional Development System (PDS) Version 7.00 QBX.EXE environment.

MORE INFORMATION

This problem can be corrected by any of the following methods:

  1. Rename the COMMON block to anything but /SYMBOL/.
  2. Remove all variable-length STRINGs from the COMMON block.
  3. Changed the variable-length STRINGs to fixed-length STRINGs.
  4. Invoke QuickBasic without loading a Quick library.

Code Example

The following sample program generates a "String space corrupt" error message and then drops you out to DOS if run from within the environment with a Quick library loaded:
   COMMON /SYMBOL/ Astring$
   Print "Hello"
   END
				

Modification Type: Minor Last Reviewed: 1/8/2003
Keywords: KB47565