"Hit Any Key..." If CHAIN or RUN from Error Handler; BC /O (37774)



The information in this article applies to:

  • Microsoft QuickBASIC 4.0, when used with:
    • the operating system: MS-DOS
  • Microsoft QuickBASIC 4.0b, when used with:
    • the operating system: MS-DOS
  • Microsoft QuickBASIC 4.5, when used with:
    • the operating system: MS-DOS
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0b
  • Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.0
  • Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.1

This article was previously published under Q37774

SYMPTOMS

When two programs, both compiled with BC /O/X, CHAIN or RUN between one another, a "Hit any key to continue" error message is displayed if the CHAIN or RUN occurs in an error-handler routine. This problem does not occur if the programs are compiled to use the Basic run-time module (without /O).

STATUS

Microsoft has confirmed this to be a bug in Microsoft QuickBasic Versions 4.00b and 4.50 (buglist4.00b, buglist4.50), and Microsoft Basic Compiler Versions 6.00 and 6.00b (buglist6.00 buglist6.00b) for MS-DOS and OS/2. This problem was corrected in Microsoft Basic PDS Version 7.00 (fixlist7.00).

To work around this problem, use RESUME <label> to return program control to a label that contains the CHAIN statement.

MORE INFORMATION

The following is a code example:
'==== Prog a ====
ON ERROR GOTO trap
ERROR 57
END
trap:
   PRINT "error in a"
   'uncomment the next line to get the programs to work
   'RESUME leave
leave:
 CHAIN "b"
 stop

'==== Prog b ====
ON ERROR GOTO trap
ERROR 57
END
trap:
   PRINT "error in b"
   'uncomment the next line to get the programs to work
   'RESUME leave
leave:
   CHAIN "a"
   stop
				

Modification Type:MinorLast Reviewed:1/9/2003
Keywords:KB37774