home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Black Box 4
/
BlackBox.cdr
/
progc
/
c_all592.arj
/
TI428.ASC
< prev
next >
Wrap
Text File
|
1991-08-27
|
4KB
|
199 lines
PRODUCT : TURBO BASIC NUMBER : 428
VERSION : ALL
OS : PC
DATE : MAY 10, 1988 PAGE : 1/3
TITLE : TURBO BASIC DATABASE TOOLBOX FIXES
This handout documents the existing Turbo Basic Database Toolbox
fixes for known problems
Correction One
Import R.BAS
Problem: All occurrences of dfLen need to be changed to dfLen&
in
Import R.BAS. There are four occurrences at lines 11,
177, 192, 266.
Solution: 'line #11:
DIM dfType(100), dfAddr&(100), dfLen&(100)
'line #177:
dfLen&(I) = CVL(MID$(InBuf$, 63 + TenI, 4))
'line #192:
GET$ #InpFile, dfLen&(FDIdx), InBuf$
'line 266:
GET$ #InpFile, dfLen&(DMRIdx), InBuf$
Correction Two
DSD - GETKEY.BOX
Problem: If DSD is compiled to an .EXE file with Bounds checking
turned on, the program will exit to DOS with an error.
If
Bounds checking is turned off no error occurs.
Solution: Line 72 of GETKEY.BOX
should be changed from
KeyVal$ = SPACE$(KeyLength)
to
KeyVal$ = LEFT$(KeyVal$ + SPACE$(KeyLength),
KetLength)
Line 91 of GETKEY.BOX which reads:
IF dbCurPgRef&(DataSet) < 2 THEN CALL ClearKey(DataSet)
PRODUCT : TURBO BASIC NUMBER : 428
VERSION : ALL
OS : PC
DATE : MAY 10, 1988 PAGE : 2/3
TITLE : TURBO BASIC DATABASE TOOLBOX FIXES
should be deleted
Correction Three
CLIENT - DELETING A RECORD
Problem: Entering an initial customer record in client then
deleting
it causes a file handling error #52
Solution: Line 124 of of DELKEY.BOX
should be changed from
IF Level = 1 AND ItemCount =1 THEN 'delete top page
NewRoot& = CVL(MID$(dbPool$(dbCurBf), %TagSize+1 + _
KeyLength, %RNOSize)
to
IF Level = 1 AND ItemCount = 1 _
AND (dbLevelCount(DataSet) > 1) THEN 'delete top page
NewRoot& = CVL(MID$(dbPool$(dbCurBf), %TagSize+1 + _
KeyLength, %RNoSize))
Explanation: The IF statement is modified to account for the
current level-count of the Dataset whose key page is about to be
deleted and to prevent deletion if the level-count is already at
1.
Correction Four
STATE.BAS
Problem: Fatal Error 63 occurs in STATE.BAS
Solution: Workaround is obtained via correction three
Correction Five
FEXISTS.BOX
PRODUCT : TURBO BASIC NUMBER : 428
VERSION : ALL
OS : PC
DATE : MAY 10, 1988 PAGE : 3/3
TITLE : TURBO BASIC DATABASE TOOLBOX FIXES
Problem: the FNFileExists function in FEXISTS.BOX doesn't set up
its own data transfer area thereby trashing the parameter line
buffer in the UI.
Replace the code in FEXISTS.BOX with the following.
DEF fnFileExists (FileSpec$)
ON ERROR GOTO ErrorHandler
OPEN FileSpec$ FOR INPUT AS #32760
FNFileExists = -1
CLOSE 32760
Finish:
ON ERROR GOTO 0
EXIT DEF
ErrorHandler:
FNFileExists = 0
RESUME Finish
END DEF 'FileExists
Correction Six
ACCESS.BOX line 144 change MaxRecLen to MinRecLen