Microsoft KB Archive/40890

From BetaArchive Wiki
Knowledge Base


BC "Variable Name Not Unique" on SUB with Period in Name

Article ID: 40890

Article Last Modified on 11/21/2006

This article was previously published under Q40890

SUMMARY

If a Basic SUBprogram name contains a period (that is, a dot), then any variables that have the same name as the portion of the SUBprogram name that is left of the period produce a "Variable name not unique" error message from BC.EXE at compile time. The program does not produce the error inside the QB.EXE editor environment.

This information applies to Microsoft QuickBasic Versions 4.00, 4.00b, and 4.50 and Microsoft Basic Compiler Versions 6.00 and 6.00b for MS-DOS and MS OS/2.

This behavior does not occur in Microsoft Basic PDS Version 7.00. Basic PDS Version 7.00 will successfully compile a program under the above conditions.

MORE INFORMATION

The sample program below runs inside the QuickBasic environment. However, when compiled using BC.EXE, a "Variable name not unique" error message is produced.

It is recommended that variable and subprogram/function names contain no periods. Periods are now used by Basic in specifying individual elements of a user-defined type variable. To eliminate the problem in the program below, remove the period from the SUBprogram name.

The following is a code example:

DECLARE SUB Test.one ()
COMMON SHARED Test AS SINGLE
Test = 4
CALL Test.one
END

SUB Test.one
  PRINT "in Test.one"
END SUB
                


Additional query words: QuickBas BasicCom

Keywords: KB40890