home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
PROGRAM
/
FOXPRO
/
FFAQ
/
BUGLIST.21E
< prev
next >
Wrap
Text File
|
1992-08-17
|
7KB
|
172 lines
FORCE 2.1E BUG LIST (Libraries & Compiler)
------------------------------------------
The Brutally Honest 4th edition
Last Updated 8-17-92
=========================================================================
Compiler Bugs:
=========================================================================
OPTIONS: /D
Problem: /DMAIN=1 (or /D<iden>=<anything>) will cause the compiler to
lock up. However, -DMAIN=1 will work fine.
-------------------------------------------------------------------------
FLAGS: CONFIRM
Problem: Just plain doesn't work. SET CONFIRM ON does not function
the way that it should. If you SET CONFIRM ON, you can still move
between the input fields with the cursor keys
-------------------------------------------------------------------------
SYMBOLS: duplicate symbols
Problem: Force will not catch duplicate DBFDEF symbols.
For example:
DBFDEF Thing
CHAR(25) grop
INT(08) grop
ENDDEF
will slip right by the compiler. Fortunately, the linker will pick it up.
-------------------------------------------------------------------------
MATH: signed integers (and longs) and <>
Problem: Force has problems evaluating the "not equal" logical operator
with integers of different signs. For example, if A is a signed
integer 1, (A <> -2) will be .F.
-------------------------------------------------------------------------
SYSTEM CALLS: COPY FILE
Problem: COPY FILE does not keep the original file's time and date. I
don't know if this is a "specification" problem or a bug, because nowhere
in the manual does it say that COPY FILE has to keep the date and time,
but that feature is standard on almost all copy programs and
implementations.
-------------------------------------------------------------------------
SYSTEM CALLS: CRITICAL
Problem: The CRITICAL error handler replacer function isn't returning
correctly. Apparently, from initial tests, the only return value that
DOS will accept is ABORT. The others, FAIL, RETRY, and IGNORE cause
my machine to lock up.
Possible WorkAround: Make a call to scrn_bios() at the beginning of your
user-defined critical error-handling function. Seems to "fix" the 3
non-working return codes.
-------------------------------------------------------------------------
LABELS: Concatenation
Problem: Apparently, you cannot concatenate strings on the LINE of a
LABELDEF label.
-------------------------------------------------------------------------
SET: SET RELATION TO
Problem: Just doesn't seem to work the way it's supposed to. You'll find
that the example in the manual just plain fails and will print garbage
to your screen or printer.
-------------------------------------------------------------------------
REPORTS: REPORTDEF
Problem: If you specify REPORTDEF without an alias name, the compiler
will either lock up, or simply write a garbage object file. The
correct result should be a syntax error.
-------------------------------------------------------------------------
INDEX: ????
Problem: We're aware of at least two bugs, one that occurs when the last
record in a BTree node of the index is deleted, and another that
occurs when you have huge amounts of duplicate keys.
=========================================================================
Library Bugs:
=========================================================================
Function: itod()
Problem: Given a date, itod() returns the day and month backwards.
That is, itod(1,2,92) (Feb 1) returns 2/1/92 (Jan 2)
-------------------------------------------------------------------------
Function: round()
Problem: Doesn't work for round values for 5 or more. That is,
if z = 123.12345678, round(z,4) yields 123.1235
but round(z,5) yields 123.12345670002
-------------------------------------------------------------------------
Function: store <exp> to <var>
Problem: You cannot assign multiple expressions to differing variables.
For example,
STORE "Blorg" TO string,1 TO i
will not work, and it should.
=========================================================================
Other things:
=========================================================================
Compatibility:
If a database (.dbf) file is terminated with an EOF character (1A),
FORCE will not bother to remove it when appending records. Thus,
those appended records will not show up. dBase terminates with 1A.
Since dBase is the standard by which every dBase compiler is judged,
this should probably be fixed.
-------------------------------------------------------------------------
Gets: PICTURE @Z
Problem: This doesn't seem to stop the initial values from being
displayed (as it says it should in the manual).
-------------------------------------------------------------------------
Dates: Leap Years
Problem: FORCE incorrectly calculates leap year dates. Apparently,
not all years evenly divisible by 100 are leap years. Only years
that are evenly divisible by 100 AND 400 are leap years. That's
400, 800, 1200, 1600, 2000, 2400, etc. For example, FORCE will tell
you that 02/29/1900 is a leap year, but it's not. 02/29/2000 is.
-------------------------------------------------------------------------
NetWorks: OPEN SHARED and EXCLUSIVE
Problem: FORCE doesn't seem to detect either of these states. Most of
the time, depending on your network, FORCE will just open the file
anyway. Other times it will dump with a run-time error. AND, for
some people, the functions seem to work fine. Go figure.
-------------------------------------------------------------------------
NetWorks: NET_ERR()
Problem: Somewhat related to the OPEN SHARED and EXCLUSIVE problem.
Even if you make a check to NET_ERR() immediately after you open the
database, FORCE will dump before you get there, so who knows if it
works?
-------------------------------------------------------------------------
NetWorks: Record Locking
Problem: Same as OPEN SHARED and EXCLUSIVE, except on a smaller scale.
I've heard a lot of people say that the only way to unlock the record
is to close the database.
=========================================================================
NOTE: I have test suites for all of these bugs (except the network bugs)
and will be more than happy to distribute them to anyone who wants
them.
=========================================================================
If you happen to know of any FORCE 2.1E bugs not in this list, please
send them to me, David Holmes (instead of Technical Support), and please
include small source code that shows the bug and will always fail.
Thanks -- David Holmes, Technical Support