"File CODE Segments That Conflict with QuickBASIC" Error (33040)






This article was previously published under Q33040

SUMMARY

The error message "File contains CODE segments that conflict with QuickBASIC's CODE" is encountered if you are using library routines in the program's resource fork with CODE resources that conflict with QuickBASIC's CODE resources.

This message often occurs when updating from the earlier BASIC compiler Version 1.00 or BASIC interpreter Version 3.00 for Macintosh. QuickBASIC's CODE resources have ID numbers 0 through 37. If the program has a LIBRARY or OpenResfile statement which opens CODE resources that have numbers between 0 and 37, this message will be generated.

This error also occurs if you mistakenly overwrite your source code at compile time by specifying a name for the compiled application that matches the name of the source code. Do not overwrite your source code with an application; otherwise, your source will be lost!

MORE INFORMATION

QuickBASIC accesses a routine by its ID number; therefore, because the program's resource fork is opened after QuickBASIC's, this causes QuickBASIC to access the wrong resources. To resolve the problem, comment out the LIBRARY statement in the BASIC program and compile with the "Copy MBLCs and MBPCs" switch enabled.

If you need to use older custom libraries, make sure the ID numbers for those CODE segments are greater than 100. To accomplish this, compile and run the "Renumber CODEs" utility on the Examples disk in the "Tools" folder. This message is only generated when running the program in the QuickBASIC interpreter environment.

Modification Type: Minor Last Reviewed: 1/8/2003
Keywords: KB33040