Q34810: QB.EXE Search and "Change…" on Line Label in IF…GOTO Hangs
Article: Q34810
Product(s): See article
Version(s): 4.00 4.00b 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | buglist4.00 buglist4.00b fixlist4.50 B_BasicCom | mspl13_basic
Last Modified: 8-DEC-1989
The QB.EXE editor hangs when using the Change option from the Search
menu to replace a line label that is contained in an IF <cond> GOTO
<linelabel> statement.
You can work around this problem by putting a THEN in the IF...GOTO
statement (i.e., IF...THEN GOTO) before selecting Change from the
Search menu.
Microsoft has confirmed this to be a problem in Microsoft QuickBASIC
Versions 4.00 and 4.00b and the QuickBASIC editor that comes with
Microsoft BASIC Compiler Versions 6.00 and 6.00b for MS-DOS and MS
OS/2 (buglist6.00, buglist6.00b). This problem was corrected in
QuickBASIC Version 4.50 and in QBX.EXE of Microsoft BASIC Compiler
Version 7.00 (fixlist7.00).
When the Change feature proceeds to the line containing the searched
line label or number, it prompts you with "Change, Skip, Quit." When
you press "C" to change the highlighted item, the line label
disappears and the computer hangs.
The following code example demonstrates the problem:
10 a = a + 1
20 PRINT a
30 IF a < 10 GOTO 10
40 PRINT "A = 10!"
In the above program, perform Change from the Search menu on the line
number 10. It will change the first 10, but will hang on the second
one.
To work around the problem, insert a THEN into the IF statement as
follows:
30 IF a < 10 THEN GOTO 10
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.