home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
progm
/
advbas.zip
/
WARNING.TXT
< prev
next >
Wrap
Text File
|
1988-04-02
|
3KB
|
68 lines
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.