Q32413: Loading More Than Seven QuickLoad Files/$INCLUDE in Editor
Article: Q32413 Product(s): See article Version(s): 4.00 4.00b Operating System(s): MS-DOS Keyword(s): ENDUSER | buglist4.00 buglist4.00b fixlist4.50 B_BasicCom | mspl13_basic Last Modified: 12-DEC-1989 When you save eight or more separate subprogram files (each containing an $INCLUDE metacommand) in QuickLoad format along with a main program in the QB.EXE Version 4.00 editor, the next time you load the main program into the editor, only the first seven subprogram files (listed in the .MAK file) will be automatically loaded. Microsoft has confirmed this to be a problem in Microsoft QuickBASIC Versions 4.00 and 4.00b and in the version of QuickBASIC provided with Microsoft BASIC Compiler Versions 6.00 and 6.00b (buglist6.00, buglist6.00b) for MS-DOS and MS OS/2. This problem was corrected in QuickBASIC Version 4.50 and in the QBX.EXE environment of Microsoft BASIC PDS Version 7.00 (fixlist7.00). The following are two workarounds for the problem: 1. Save the files in text format instead of in QuickLoad format. 2. Manually load all files after the seventh listed in the .MAK file. The following code demonstrates the problem: ' This is the main program G.BAS: DECLARE SUB g1 () DECLARE SUB g2 () DECLARE SUB g3 () DECLARE SUB g4 () DECLARE SUB g5 () DECLARE SUB g6 () DECLARE SUB g7 () DECLARE SUB g8 () DECLARE SUB g9 () DECLARE SUB g10 () REM $INCLUDE: 'in.bas' PRINT "this is the main program" CALL g1 CALL g2 CALL g3 CALL g4 CALL g5 CALL g6 CALL g7 CALL g8 CALL g9 CALL g10 ' This is the separate $INCLUDE file IN.BAS: PRINT "hello" ' This is the separate file G1.BAS: SUB g1 STATIC REM $INCLUDE: 'in.bas' END SUB ' This is the separate file G10.BAS: SUB g10 STATIC REM $INCLUDE: 'in.bas' END SUB ' The other eight subprogram files G2.BAS through G9.BAS have the same ' structure as G1.BAS and G10.BAS shown above. All files should be ' saved in QuickLoad format to show the problem. In this case, all the ' files were loaded into the editor and a SAVE ALL was used to make ' the .MAK file (G.MAK).
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.