"File Not Found ..." If Basic RUNs a C 6.00 Overlaid Program (64877)



The information in this article applies to:

  • Microsoft QuickBASIC 4.0
  • Microsoft QuickBASIC 4.0b
  • Microsoft QuickBASIC 4.5
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0
  • Microsoft BASIC Compiler for MS-DOS and OS/2 6.0b

This article was previously published under Q64877

SUMMARY

When an overlaid program, which was compiled in Microsoft C Professional Development System (PDS) version 6.00 or Microsoft QuickC version 2.00, is executed by using the RUN statement from an .EXE program compiled in Microsoft QuickBasic version 4.00, 4.00b, or 4.50, or in Microsoft Basic Compiler version 6.00 or 6.00b, the error message "File not found in module ..." will display.

This is due to Basic not handling the new C 6.00 methods of overlay management. This incompatibility has been corrected in Microsoft Basic Professional Development System (PDS) versions 7.00 and 7.10.

This information applies to Microsoft QuickBasic versions 4.00, 4.00b, and 4.50, and to Microsoft Basic Compiler versions 6.00 and 6.00b for MS-DOS.

MORE INFORMATION

The following programs demonstrate the problem. The first program is A.BAS:
   print "in basic"
   run "b.exe"
				
Compile and LINK in QuickBasic 4.00, 4.00b, and 4.50 or Microsoft Basic Compiler version 6.00 or 6.00b:
   BC /O A ;
   LINK A.OBJ ;         [ This LINK creates A.EXE. ]
				
The following two programs are the C code that the Basic program calls. The first is B.C:
   void f(void);
   void main(void)
   {
       printf("here is c 6.00\n");
       f();
   }
				
The following is C.C:
   void f(void)
   {
       printf("in overlay\n");
   }
				
Compile and LINK using Microsoft C PDS 6.00, as follows:
   CL /c /AL b.c ;
   CL /c /AL c.c ;
   LINK b.obj (c.obj) ;
				
When A.EXE is run, the following message displays:
   File not found in module A        at address 246B:0042
					

Modification Type:MinorLast Reviewed:1/8/2003
Keywords:KB64877