
WARNING!
     Microsoft's QuickBASIC compilers versions 3.0 - 4.0 have bugs in them
     that affect ADVBAS users!



QuickBASIC 3.0:
     If you compile a program using ADVBAS in the programming environment
     with the compile-to-BCOM30 option, the results will be unreliable at
     best.  If you need to generate stand-alone programs, do not use the
     programming environment with compile-to-BCOM30.  Instead, compile
     from the command line.  Check your QuickBASIC manual for more
     information if you are unfamiliar with that method.  A typical syntax
     will be:

     QB filename/O;

     with a letter "O", not the number zero.  You may need additional
     switches besides the "/O", depending on your program.



QuickBASIC 4.0:
     If you compile a program using ADVBAS in the programming environment
     to an EXE file, your program will be much larger than it should be,
     if it is correctly created at all.  QB4 generates an unusual and
     arguably inappropriate syntax for linking the file. Instead of using
     the environment to compile to EXE files, use the stand-alone BC.EXE
     compiler from the command line.  A typical syntax will be:

     BC filename;
     LINK filename/EX,,NUL,ADVBAS

     You can also use the standard switches with BC to produce different
     output: "/O" for stand-alone (as opposed to BRUN-dependent), "/D" for
     debug, "/ZI" for CodeView, and so forth.  Check your QB manual for
     more details.

     Also note that Microsoft has changed the internal handling of static
     arrays (not a bug as such, but certainly a nuisance), which
     means that GETSCREEN and PUTSCREEN will not work with QuickBASIC 4.0.
     Other array routines will work with the stand-alone version of the
     compiler, BC.EXE, but not in the programming environment provided by
     QB.EXE (due to a bug in QB.EXE).  So, you will be able to use all
     array routines except GETSCREEN and PUTSCREEN, but only in programs
     compiled using BC.EXE, not in the programming environment.  It is
     possible to get around this problem, which I have done with the
     commercial version of the library, ProBas.  However, the changes to
     the routines are fairly drastic, and I can't put them in ADVBAS
     without violating my contract with HCSI.  So, if you really need to
     use the array routines in the QB4 environment, get yourself a copy of
     ProBas (see the PROBAS.DOC file).  It's guaranteed to be a more
     effective solution than trying to get Microsoft to fix the problem!

     QuickBASIC 4.0 also zeroes the comm ports in the BIOS RAM area when
     you use communications.  At a guess, this is for OS/2 and other
     multitaskers, so other programs don't try to use the comm ports when
     QB is using them.  It causes a number of problems, though-- if your
     program crashes, the computer will forget that it ever had comm ports
     until you reboot.  This also interacts badly with CHAIN, so you can't
     reliably use CHAIN with communications.

     There have been a number of bugs reported with fixed-length strings
     and long integers.  The amount of available string space has been
     decreased, which can be a real problem.  QB4 is also extremely
     machine-dependent, and will not necessarily work on your clone.
