KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q44240: Problem Editing QuickBASIC 4.50 Module Without COMMON

Article: Q44240
Product(s): See article
Version(s): 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | SR# S890501-102 buglist4.50 B_BasicCom | mspl13_basic
Last Modified: 28-FEB-1990

The procedure below reproduces a problem editing a file that is a
secondary module that does not include the same named COMMON block as
the main module. After you follow the steps below, QB.EXE hangs
when trying to execute the program.

Microsoft has confirmed this to be a problem in the Microsoft
QuickBASIC Compiler Version 4.50. This problem was corrected in the
QBX.EXE environment of Microsoft BASIC Professional Development System
(PDS) Version 7.00 for MS-DOS and MS OS/2 (fixlist7.00).

The problem occurs whether the programs are saved in the "Fast Load
and SAVE" or "Text" format.

Refer to the following modules in the procedure below:

MODULE A
--------

   COMMON /c/ d()
   DIM d(1)

MODULE B
--------

   (contains nothing)

The steps that reproduce the problem are as follows:

 1. Get into QuickBASIC and create MODULE A (which contains the code
    above).

2. Press ALT+F C to create MODULE B (which has no code in it).

 3. Press ALT+F V (save all) and ALT+F X to exit QB.EXE.

 4. Start QuickBASIC again, loading MODULE A with the command "QB A"
    (this also loads B.BAS).

 5. Press F5 to start the program.

 6. Go to MODULE B with F2 and select B.BAS.

 7. Type anything into MODULE B and backspace over it so that nothing
    is in the module, as before.

 8. Save all the modules with ALT+F V. (Actually, any sort of save here
    reproduces the problem.)

 9. Press F5 to continue.

10. Press F5 and the program hangs. [Any combination of F5, SHIFT+F5,
    and ALT+R R (restart) in Steps 7 and 8 reproduces this problem.]

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 1986-2002.