Dec 122017
QuickBasic bugs. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
MYBUGS.TXT | 1950 | 1040 | deflated |
QUIRKS.TXT | 21742 | 6890 | deflated |
TPCREAD.ME | 199 | 165 | deflated |
Download File QBBUG2.ZIP Here
Contents of the MYBUGS.TXT file
This is the list of bugs that I came up with. Some of the bugs I came up
with are not listed because they are already in QBBUGS.ARC. Instead of
compiling my own list, it might be better just to tell you about them. If
you don't want this burden, let me know and I'll do one myself(no problem).
I just thought it would be nicer to have only one list floating around.
This way everyone knows where to get them.
BUG 1:
------
When calling a subprogram that requires a string, you cannot pass it an
array element that was predefined in a field statement. The following is
an example:
Start:
DIM A$(4)
OPEN "TEST.DAT" FOR RANDOM ACCESS READ WRITE SHARED AS 1 LEN=10
FIELD 1, 2 AS A$(1), 2 AS A$(2), 2 AS A$(3), 4 AS A$(4)
CALL SubProgram (A$(1), Valid%)
.
.
.
END
SUB SubProgram (Parm$, Valid%)
.
.
.
END SUB
As you can see, this should be a valid CALL. But what really happens is
that A$(1) is no longer considered a FIELDed variable. The length remains
the same but if you LSET it and PUT it, the value that you LSETed does not
get PUT. Also notice that you don't have to do anything in the SUB for
this to happen. I pulled my hair out for a whole day on this one. You can
though, assign A$(1) to X$ and then CALL the SUB. This also happens with
FUNCTIONs.
BUG 2:
------
This one is a little tough to explain. When you start your EXE from DOS
and rush ahead and type a few keys before the program is loaded, then the
program CHAINs to another program, the latter locks up. It doen't happen
all the time, and doesn't always lock up. Sometimes it just gives you a
bogus error message like "Illegal function call" or "String space corrupt".
God I hate those "sometimes" bugs!
Like I said, alot of the bugs I found were on your sheet. I will update
this sheet whenever I get a new bug. Thanx.
with are not listed because they are already in QBBUGS.ARC. Instead of
compiling my own list, it might be better just to tell you about them. If
you don't want this burden, let me know and I'll do one myself(no problem).
I just thought it would be nicer to have only one list floating around.
This way everyone knows where to get them.
BUG 1:
------
When calling a subprogram that requires a string, you cannot pass it an
array element that was predefined in a field statement. The following is
an example:
Start:
DIM A$(4)
OPEN "TEST.DAT" FOR RANDOM ACCESS READ WRITE SHARED AS 1 LEN=10
FIELD 1, 2 AS A$(1), 2 AS A$(2), 2 AS A$(3), 4 AS A$(4)
CALL SubProgram (A$(1), Valid%)
.
.
.
END
SUB SubProgram (Parm$, Valid%)
.
.
.
END SUB
As you can see, this should be a valid CALL. But what really happens is
that A$(1) is no longer considered a FIELDed variable. The length remains
the same but if you LSET it and PUT it, the value that you LSETed does not
get PUT. Also notice that you don't have to do anything in the SUB for
this to happen. I pulled my hair out for a whole day on this one. You can
though, assign A$(1) to X$ and then CALL the SUB. This also happens with
FUNCTIONs.
BUG 2:
------
This one is a little tough to explain. When you start your EXE from DOS
and rush ahead and type a few keys before the program is loaded, then the
program CHAINs to another program, the latter locks up. It doen't happen
all the time, and doesn't always lock up. Sometimes it just gives you a
bogus error message like "Illegal function call" or "String space corrupt".
God I hate those "sometimes" bugs!
Like I said, alot of the bugs I found were on your sheet. I will update
this sheet whenever I get a new bug. Thanx.
December 12, 2017
Add comments