Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

QBasic 1.1 bombs-out

Status
Not open for further replies.

Guest_imported

New member
Jan 1, 1970
0
Hello All,

I'm a long-time QBasic user, and have bumped into a re-occurring problem : At one time of another, when I have just added something to my program, QBasic does not want to run my program anymore, generating argument mismatch errors on places that worked fine a minute ago, and that are not related in any way to the changes I just made.

To make it all even more funny, when I remove the sub/function declarations, at the start of my program, my program functions o.k. again. That is, up untill the point where QBasic inserts those lines again (due to saving the program).

So, I'm quite sure it's not a problem of my program, but some sort of bug (?) of QBasic.

My question : 1) Does anyone know of it, 2) does anyone know how to solve the problem (update perhaps ?), 2) if solution is present, how can i find when this problem (why) it's going to happen.

BitFiddler
 
I've run into similar problems. I always assumed it was something that was a little if-y that was pushed over the edge by something I added, but it may be a bug in Qbasic; heck it is 15 years old
 
1) Does anyone know of it
Argument-count Mismatch - You are using an incorrect number of arguments with a BASIC Subprogram or Function. (Compile-time Error)...example,

Declare sub Pass3Things(oneWord$, twoInteger%, thirdWord$)

{code}
Pass3Things "This Word", 1 [red]Error: not 3 things passed in.[/red]
{code}
Pass3Things "This Word", 2, "That Word", "Next Word" [red]Error: not 3 things passed in.[/red]
{code}



2) does anyone know how to solve the problem (update perhaps ?)

Microsoft no longer supports QB (last QB [before VB 1] was QB 7 (aka: QB PDS [Quick Basic Professional Development Series] -or- QBX [Quick Basic eXtended])


2) if solution is present, how can i find when this problem (why) it's going to happen.

go to the line BEFORE the error occurs, press F9 to set break point, run program, when IDE stops...check out the variables being stored/passed make sure the variable is appropriate ex: expecting a number not a string. To clear breakpoint, press F9 again.

If this error applies to a library that you are using, try typing in the function name (without any parameters) place the cursor back on the word and press F1 for help. If the library is a QBL, you should see the function name AND parameters it is expecting. Then go through your program and see if your calls to this function is complete and the appropriate variables are being sent.



Other than that, you are welcome to place the code on this forum so that all can offer suggestions on fixing the problem(s).

--MiggyD
 
To MiggyD :

Thank you for you answer. But alas, the problem is not an Argument-count mis-match.

As I allready said in my first post, the error(s) are generated at places fully un-related to the change/adition just made by me ...

The Error(s)dis-appear when I remove the sub/function declarations on top of the program, and re-appear when I save the program (making the sub/function declarations appear again).

They even appear/dis-appear when adding/removing a simple constant-declaration.


> Other than that, you are welcome to place the code on this forum so that all can offer suggestions on fixing the problem(s).

Thank you very much for that invitation ! I've reduced the offending program as much as I could, while still generating the above mentioned error. What I was left with was a program without *any* commands, just having some constant & record definitions, and a set of calls to (empty) subs & functions.

'----------------------------------------------------------
DECLARE SUB ShowCWall (LstObj AS ANY, Vr AS ANY)
DECLARE FUNCTION HexStr$ (SBytes AS STRING)
DECLARE FUNCTION HexB$ (iNumber AS INTEGER)
DECLARE FUNCTION HexW$ (iNumber AS INTEGER)
DECLARE FUNCTION PlaceBgBlock$ (Gx%, Gy%, iBlock%)
DECLARE FUNCTION PlaceFgBlock% (Gx%, Gy%, iBlock%)
DECLARE FUNCTION InputNum% (Number AS SINGLE, Length!, Decim!, Crsr$, Flags!)
DECLARE FUNCTION InputStr% (Text$, Length%, Crsr$, Flags%)
DECLARE SUB ViewMap (BoxX%, BoxY%, Handle%, MapNo%)
DECLARE FUNCTION Exists% (File$)
DECLARE FUNCTION BoxAsk% (TmpX%, TmpY%, TmpMsg$, TmpAns$)
DECLARE FUNCTION GetKeyCode% ()

'----------------------------------------------------------

CONST BaseStartTbl = &H276BC1
CONST BaseWarpTbl = &H2A9771
CONST BaseSwWallTbl = &H2A9D11
CONST BaseCWallTbl = &H2AE439
CONST BaseRWallTbl = &H2B0E69
CONST BaseETypTbl = &H2B3899
CONST BaseEPosTbl = &H2B5A59
'CONST BaseBgMap = &H2FBF59
CONST BaseFgMap1 = &H37A859
CONST BaseFgMap2 = &H3F9159
CONST BaseObjMap = &H477A59
CONST Path = "C:\TEMP"

'----------------------------------------------------------
TYPE PStartRec
iUnkn1 AS INTEGER
iX AS INTEGER
iY AS INTEGER
iUnkn2 AS INTEGER
END TYPE

TYPE ETypRec
iType AS INTEGER
iKill AS INTEGER
iShtTyp AS INTEGER
iShtDrp AS INTEGER
sUnkn1 AS STRING * 6
iShtFlg AS INTEGER
sUnkn2 AS STRING * 6
iMovTyp AS INTEGER
END TYPE

TYPE WallRec
KeyTyp AS INTEGER
Unkn AS INTEGER
Xl AS INTEGER
Yt AS INTEGER
Xr AS INTEGER
Yb AS INTEGER
END TYPE

TYPE SwitchRec
Flag AS INTEGER
Src0 AS INTEGER
Src1 AS INTEGER
Src2 AS INTEGER
Src3 AS INTEGER
Pos0 AS STRING * 1
Pos1 AS STRING * 1
Pos2 AS STRING * 1
Pos3 AS STRING * 1
Xl AS INTEGER
Yt AS INTEGER
Xr AS INTEGER
Yb AS INTEGER
END TYPE

'----------------------------------------------------------
TYPE ViewRec
Handle AS INTEGER
Mn AS INTEGER
Mw AS INTEGER
Mh AS INTEGER
Mx AS INTEGER
My AS INTEGER
Ox AS INTEGER
Oy AS INTEGER
Cx AS INTEGER
Cy AS INTEGER
END TYPE

TYPE LstObj
Obj AS INTEGER
X AS INTEGER
Y AS INTEGER
END TYPE

'----------------------------------------------------------
CONST cBlack = 0
CONST cBlue = 1
CONST cGreen = 2
CONST cCyan = 3
CONST cRed = 4
CONST cBrown = 6
CONST cGray = 7
CONST cDGray = 8
CONST cLBlue = 9
CONST cLGreen = 10
CONST cLRed = 12
CONST cYellow = 14
CONST cWhite = 15

'----------------------------------------------------------DEFINT A-Z

CALL ViewMap(2, 2, Handle, MapNo)

SYSTEM
'----------------------------------------------------------FileErr:
ErrCode = ERR
RESUME NEXT
'----------------------------------------------------------
FUNCTION BoxAsk (TmpX, TmpY, TmpMsg$, TmpAns$)
END FUNCTION

SUB BoxMsg (TmpX, TmpY, TmpMsg$)
END SUB

SUB BoxMsgWait (TmpX, TmpY, TmpMsg$)
END SUB

SUB ClearBox (BoxX, BoxY, BoxW, BoxH, Char$)
END SUB

SUB Colors (BoxX, BoxY)
END SUB

SUB DrawBox (BoxX, BoxY, BoxW, BoxH, Ol)
END SUB

SUB DumpFile (BoxX, BoxY, File$, DataPtr AS LONG)
END SUB

SUB DumpStr (Line$)
END SUB

FUNCTION Exists (File$)
END FUNCTION

FUNCTION GetKeyCode
END FUNCTION

FUNCTION HexB$ (iNumber AS INTEGER)
END FUNCTION

FUNCTION HexStr$ (SBytes AS STRING)
END FUNCTION

FUNCTION HexW$ (iNumber AS INTEGER)
END FUNCTION

DEFSNG A-Z
FUNCTION InputNum% (Number AS SINGLE, Length, Decim, Crsr$, Flags)
END FUNCTION

DEFINT A-Z
FUNCTION InputStr (Text$, Length, Crsr$, Flags)
END FUNCTION

FUNCTION PlaceBgBlock$ (Gx, Gy, iBlock)
END FUNCTION

FUNCTION PlaceFgBlock (Gx, Gy, iBlock)
END FUNCTION

SUB ShowCWall (LstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB ShowCWalls (Vr AS ViewRec)
END SUB

SUB ShowGraph1 (BoxX, BoxY, Handle, MapNo, MapX, MapY)
END SUB

SUB ShowRWall (LstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB ShowRWalls (Vr AS ViewRec)
END SUB

SUB ShowSwWall (LstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB ShowSwWalls (Vr AS ViewRec)
END SUB

SUB ShowWarp (LstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB Testing (Handle, MapNo)
END SUB

SUB ViewCWalls (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewEPosRec (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewETypRec (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewGraph (BoxX, BoxY, Handle)
END SUB

SUB ViewGraph2 (BoxX, BoxY, Handle)
END SUB

SUB ViewGraph3 (BoxX, BoxY, Handle)
END SUB

SUB ViewGraph4 (BoxX, BoxY, Handle)
END SUB

SUB ViewMap (BoxX, BoxY, Handle, MapNo)
DIM LstObj AS LstObj
DIM Vr AS ViewRec

CALL ShowCWall(LstObj, Vr)

END SUB

SUB ViewMsgs (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewRWalls (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewSwWalls (BoxX, BoxY, Handle, MapNo, Index)
END SUB

SUB ViewWarp (BoxX, BoxY, Handle, MapNo, Index)
END SUB


 
I still think it is version related. On my post for my problem with my encode program, qbasic 1.1 was giving me errors. I downloaded qbasic 4.5 and it worked just fine.
 
Hello quebasic,

I'm sure you are right. Alas, QuickBasic 4.5 is non-comparable to QBasic 1.1. If I'm not mistaken, QB 4.5 is an compiler, while QBasic is an interpreter. And I like the Interpreter-behaviour of QBasic :)

I hoped one of the "old timers" in this forum would recognise the "feature" (which is, in MS-speak, just another word for Bug-with-seniority ... ) , and would know if a patch of some sort existed.
 
quebasic (Programmer) Jul 18, 2002
> qb 4.5 works as an interpeter and then can be compiled

So much for my memory and/or knowledge :-( :)

I just have un-zipped QB45 (yes, I had it stored somewhere), and saw you where right. Thank you for correcting me.

Now let's explore some and see what QB4.5 has to offer me ...
 
It is a longer download, but I would get 7.1. It has a better library, and less bugs. It also comes with a bunch of pre mad axample programs.
 
I have a similar problem now with QB4.5. Last night i was writing something. When I went to run it it gave me an OUT OF STRING SPACE error. But then I saved it, opened it again and it ran fine (no changes made) what is going on here?
 
The Error(s)dis-appear when I remove the sub/function declarations on top of the program, and re-appear when I save the program (making the sub/function declarations appear again).

Simply removing the declarations at the main module does not mean that the Sub/Func Modules are ALSO erased/deleted.

To physically remove the Sub/func mods,(which I wouldn't suggest unless you ABSOLUTELY DON'T NEED THEM) is to press F2, highlight the module, and click on DELETE at the bottom of the window.

If the sub/func mod still exists upon saving (even though it is not declared in the main module) QB automatically copies the the sub/func's header and ADDS it to the top of the main mod before saving.



reduced the offending program as much as I could, while still generating the above mentioned error.

I could not generate the specific error you mentioned based on the above code. I can only offer these solutions:

1) Use the F8 key to STEP-through your program. When the error occurs, go to the line before and place a breakpoint there. Use the immediate window, to visually inspect the data being sent to variable when the IDE breaks.

2) Send me a zipped copy of the entire code so that I can trace it out and see if there's something you're missing. You can send it to my general box miggyd2000@yahoo.com .


Hopefully, #1 above will prove fruitful.

--MiggyD
 
@MiggyD
"Simply removing the declarations at the main module does not mean that the Sub/Func Modules are ALSO erased/deleted."

I know ! The whole point here is that even when I do not change anything to *my code*, QBasic responds differently depending one th existence of those few lines. It prooves to me that *my program* is O.K. (it runs if those declaration-lines are not there)

"I could not generate the specific error you mentioned based on the above code."

You did try it with QBasic 1.1 ? I just tried, to be *absolutily* sure, the same program on my old 486, and it bombs-out *exactly the same way*.

Using F8 (pressing it once) gives me the same error as pressing shift-F5, and at the same place.

A Break-point on the command before it (Sub ViewMap, dim Vr as ViewRec) is ignored (?). The error-message is (translated from Dutch) something like "Argument-types are not the same". And that's in the line : call ShowCWall(LstObj,Vr) , High-lighting the "Vr" user-defined variable.

I think the error is generated by a consistency-checking program (perhaps while "compiling" my program into internal Pseudo-code ?) of QBasic itself, before the (my) actual program is executed ...
 
Well you've answered your own question. Since you have QB 4.5, go to the help files using INDEX and click on FUNCTION and then on DETAILS.

About halfway down you'll see a statement:
(shapshot follows...)

...the same manner as a BASIC intrinsic function.

Like SUB procedures, FUNCTION procedures use
local variables. Any variable not in the parameter
list is local to the FUNCTION unless it is
declared as a shared variable in a SHARED statement,
or unless the variable appears in a DIM or
COMMON statement with the SHARED attribute.

To return a value from a function, assign the value to the function


So try adding:

[red]DIM SHARED ViewRec[/red] in the Main Moduel before the 'CALL ViewMap(2, 2, Handle, MapNo)' statement

-or-

Pass it along as a parameter as you have done so in...

SUB ShowRWalls (Vr AS [red]ViewRec[/red])
END SUB

SUB ShowSwWall (LstObj AS LstObj, Vr AS [red]ViewRec[/red])
END SUB

Again, I hope this helps. And, in the meantime, I'll see about getting to testing it in QB 1.1.
--MiggyD
 
BitFiddler:
I tested your code.As partes into your message it produces errors. The tyope of some functions is not the declared type. Functions declared as integer are implemented as single.
Then I tried to delete declarations and the thing worked fine. Then i saved the program and the DECLARE appeared again, this time with the right function type. And it worked OK again. I have tried with QB 4.5 (english)and QB 1.1(spanish).
So what is wrong in your code are the DECLARE lines. The question is Who wrote them? Because both versions of QB seems to generate them oK.. Antoni
 
@MiggyD
"DIM SHARED ViewRec" : this does not work. The "ViewRec" in this declaration will be(come) a simple variable of the default type(in my case, Integer). It will have nothing to do with de *structure-definition* of the same name.

*Structure-definitions* are (AFAIK) *allways* global.

By the way, I tested your suggestion to be sure. I added the "DIM SHARED ViewRec" to my main-module, but the error was still there.

Furthermore, It was possible to assign a number to "ViewRec", which would *not* be possible if the (now) *variable* "ViewRec" would have had the structure as defined above it of the same name (confusing ? You bet ! :))


"Pass it along as a parameter" : I think I've done that. Just look at my code :)
 
@agual
Could you show me which declarations have changed, and how ?

I mean, I do not write my own declarations, I just let QBasic generate them as he likes.

I've even removed them a number of times, just to be sure the "correct" definitions where (re) generated.

Listening to you I have to conclude this process of (auto) generation of those declarations may be at fault :-(


"Functions declared as integer are implemented as single" : How can/do you tell ? And which ones do you mean ?
 
@BitFiddler
If you don't put a type suffix (%,&,!,#,$) at the end of a variable or a function name, it's created as single.
If you look at your code you do a declare like

DECLARE FUNCTION PlaceFgBlock% (Gx%, Gy%, iBlock%)
and function is defined as:
FUNCTION PlaceFgBlock (Gx, Gy, iBlock)
END FUNCTION

So the function output and the parameters are single but are declared as integer.
I never heard about QB's automatic DECLARE failing, so i guess you could have merged two different files or erased the DEFINT at the top of each function.
If you just delete DECLAREs and re-save, everything works fine...

Antoni
 
@agual

>DECLARE FUNCTION PlaceFgBlock% (Gx%, Gy%, iBlock%)
>and function is defined as:
>FUNCTION PlaceFgBlock (Gx, Gy, iBlock)
>END FUNCTION

That's correct. The DEFINT A-Z (above the function itself) is suppressed in the saved file, because of the DEFINT A-Z in the main module, which becomes the default for the whole program.

The DEFINT's above the subs and functions appear again when the program is loaded in QBasic's editor (just checked it to be sure).

Try this : Replace,in QBasic's editor, the DEFINT A-Z above the actual function with a DEFSNG A-Z (or remove it altogether) and try to start the program again. You should get a "double definition" error ... (provided the function is pre-declared)

> "If you just delete DECLAREs and re-save, everything works fine..."

Sorry, but as you can read in this thread I did do that allready, and it did not work for me. My program worked as long as no declaration-lines where there, but stopped working again the same way as before when new declaration-lines (re) appeared due to the saving of the file.
 
I still cannot produce the error you are talking about. I've placed UD types in front as I always do, DECLARES next, CONSTs next, and finally Main Code.

The only errors I've come across were the TYPE-MISMATCHes that agual was referring to. I've fixed those, removed all the DEFINTs (since some of the variables were INTEGERS and others were SINGLES, etc.) and made them to integers (based on the fact that your TYPES contained mostly integers) I concluded that your prog is to deal with integers mostly.

I've added some numbers to see the results, but I still cannot get the exact error that you mentioned in your original post. I've also saved it many times and used NOTEPAD to view the Saves and I didn't see any alterations. Maybe you can enlighten me. Here's the code I've been using...


'----------------------------------------------------------
TYPE PStartRec
iUnkn1 AS INTEGER
iX AS INTEGER
iY AS INTEGER
iUnkn2 AS INTEGER
END TYPE

TYPE ETypRec
iType AS INTEGER
iKill AS INTEGER
iShtTyp AS INTEGER
iShtDrp AS INTEGER
sUnkn1 AS STRING * 6
iShtFlg AS INTEGER
sUnkn2 AS STRING * 6
iMovTyp AS INTEGER
END TYPE

TYPE WallRec
KeyTyp AS INTEGER
Unkn AS INTEGER
Xl AS INTEGER
Yt AS INTEGER
Xr AS INTEGER
Yb AS INTEGER
END TYPE

TYPE SwitchRec
Flag AS INTEGER
Src0 AS INTEGER
Src1 AS INTEGER
Src2 AS INTEGER
Src3 AS INTEGER
Pos0 AS STRING * 1
Pos1 AS STRING * 1
Pos2 AS STRING * 1
Pos3 AS STRING * 1
Xl AS INTEGER
Yt AS INTEGER
Xr AS INTEGER
Yb AS INTEGER
END TYPE

TYPE ViewRec
Handle AS INTEGER
Mn AS INTEGER
Mw AS INTEGER
Mh AS INTEGER
Mx AS INTEGER
My AS INTEGER
Ox AS INTEGER
Oy AS INTEGER
Cx AS INTEGER
Cy AS INTEGER
END TYPE

TYPE LstObj
Obj AS INTEGER
X AS INTEGER
Y AS INTEGER
END TYPE
'----------------------------------------------------------

DECLARE FUNCTION BoxAsk% (TmpX%, TmpY%, TmpMsg$, TmpAns$)
DECLARE SUB BoxMsg (TmpX%, TmpY%, TmpMsg$)
DECLARE SUB BoxMsgWait (TmpX%, TmpY%, TmpMsg$)
DECLARE SUB ClearBox (BoxX%, BoxY%, BoxW%, BoxH%, Char$)
DECLARE SUB Colors (BoxX%, BoxY%)
DECLARE SUB DrawBox (BoxX%, BoxY%, BoxW%, BoxH%, Ol%)
DECLARE SUB DumpFile (BoxX%, BoxY%, File$, DataPtr AS LONG)
DECLARE SUB DumpStr (Line$)
DECLARE FUNCTION Exists% (File$)
DECLARE FUNCTION GetKeyCode% ()
DECLARE FUNCTION HexB$ (iNumber AS INTEGER)
DECLARE FUNCTION HexStr$ (SBytes AS STRING)
DECLARE FUNCTION HexW$ (iNumber AS INTEGER)
DECLARE FUNCTION InputNum% (Number AS SINGLE, Length!, Decim!, Crsr$, Flags!)
DECLARE FUNCTION InputStr% (Text$, Length%, Crsr$, Flags%)
DECLARE FUNCTION PlaceBgBlock$ (Gx%, Gy%, iBlock%)
DECLARE FUNCTION PlaceFgBlock% (Gx%, Gy%, iBlock%)
DECLARE SUB ShowCWall (zLstObj AS ANY, Vr AS ANY)
DECLARE SUB ShowCWalls (Vr AS ViewRec)
DECLARE SUB ShowGraph1 (BoxX%, BoxY%, Handle%, MapNo%, MapX%, MapY%)
DECLARE SUB ShowRWall (zLstObj AS LstObj, Vr AS ViewRec)
DECLARE SUB ShowRWalls (Vr AS ViewRec)
DECLARE SUB ShowSwWall (zLstObj AS LstObj, Vr AS ViewRec)
DECLARE SUB ShowSwWalls (Vr AS ViewRec)
DECLARE SUB ShowWarp (zLstObj AS LstObj, Vr AS ViewRec)
DECLARE SUB Testing (Handle%, MapNo%)
DECLARE SUB ViewCWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewEPosRec (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewETypRec (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewGraph (BoxX%, BoxY%, Handle%)
DECLARE SUB ViewGraph (BoxX%, BoxY%, Handle%)
DECLARE SUB ViewGraph3 (BoxX%, BoxY%, Handle%)
DECLARE SUB ViewGraph4 (BoxX%, BoxY%, Handle%)
DECLARE SUB ViewMap (BoxX%, BoxY%, Handle%, MapNo%)
DECLARE SUB ViewMsgs (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewRWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewSwWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
DECLARE SUB ViewWarp (BoxX%, BoxY%, Handle%, MapNo%, Index%)
'----------------------------------------------------------

CONST BaseStartTbl = &H276BC1
CONST BaseWarpTbl = &H2A9771
CONST BaseSwWallTbl = &H2A9D11
CONST BaseCWallTbl = &H2AE439
CONST BaseRWallTbl = &H2B0E69
CONST BaseETypTbl = &H2B3899
CONST BaseEPosTbl = &H2B5A59
CONST BaseBgMap = &H2FBF59
CONST BaseFgMap1 = &H37A859
CONST BaseFgMap2 = &H3F9159
CONST BaseObjMap = &H477A59
CONST Path = "C:\TEMP"
CONST cBlack = 0
CONST cBlue = 1
CONST cGreen = 2
CONST cCyan = 3
CONST cRed = 4
CONST cBrown = 6
CONST cGray = 7
CONST cDGray = 8
CONST cLBlue = 9
CONST cLGreen = 10
CONST cLRed = 12
CONST cYellow = 14
CONST cWhite = 15
'----------------------------------------------------------

CALL ViewMap(2, 2, Handle%, MapNo%)

'SYSTEM
END


'FileErr:
ErrCode = ERR
RESUME NEXT

FUNCTION BoxAsk% (TmpX%, TmpY%, TmpMsg$, TmpAns$)
END FUNCTION

SUB BoxMsg (TmpX%, TmpY%, TmpMsg$)
END SUB

SUB BoxMsgWait (TmpX%, TmpY%, TmpMsg$)
END SUB

SUB ClearBox (BoxX%, BoxY%, BoxW%, BoxH%, Char$)
END SUB

SUB Colors (BoxX%, BoxY%)
END SUB

SUB DrawBox (BoxX%, BoxY%, BoxW%, BoxH%, Ol%)
END SUB

SUB DumpFile (BoxX%, BoxY%, File$, DataPtr AS LONG)
END SUB

SUB DumpStr (Line$)
END SUB

FUNCTION Exists% (File$)
END FUNCTION

FUNCTION GetKeyCode%
END FUNCTION

FUNCTION HexB$ (iNumber AS INTEGER)
END FUNCTION

FUNCTION HexStr$ (SBytes AS STRING)
END FUNCTION

FUNCTION HexW$ (iNumber AS INTEGER)
END FUNCTION

FUNCTION InputNum% (Number AS SINGLE, Length, Decim, Crsr$, Flags)
END FUNCTION

FUNCTION InputStr% (Text$, Length%, Crsr$, Flags%)
END FUNCTION

FUNCTION PlaceBgBlock$ (Gx%, Gy%, iBlock%)
END FUNCTION

FUNCTION PlaceFgBlock% (Gx%, Gy%, iBlock%)
END FUNCTION

SUB ShowCWall (zLstObj AS LstObj, Vr AS ViewRec)
CLS
PRINT "zLstObj.Obj ="; STR$(zLstObj.Obj)
PRINT " Vr.Handle ="; STR$(Vr.Handle)
PRINT " Totals to ="; STR$(Vr.Handle + zLstObj.Obj)
PRINT
END SUB

SUB ShowCWalls (Vr AS ViewRec)
END SUB

SUB ShowGraph1 (BoxX%, BoxY%, Handle%, MapNo%, MapX%, MapY%)
END SUB

SUB ShowRWall (zLstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB ShowRWalls (Vr AS ViewRec)
END SUB

SUB ShowSwWall (zLstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB ShowSwWalls (Vr AS ViewRec)
END SUB

SUB ShowWarp (zLstObj AS LstObj, Vr AS ViewRec)
END SUB

SUB Testing (Handle%, MapNo%)
END SUB

SUB ViewCWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewEPosRec (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewETypRec (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewGraph (BoxX%, BoxY%, Handle%)
END SUB

SUB ViewGraph2 (BoxX%, BoxY%, Handle%)
END SUB

SUB ViewGraph3 (BoxX%, BoxY%, Handle%)
END SUB

SUB ViewGraph4 (BoxX%, BoxY%, Handle%)
END SUB

SUB ViewMap (BoxX%, BoxY%, Handle%, MapNo%)

DIM zLstObj AS LstObj
DIM Vr AS ViewRec

zLstObj.Obj = 32
Vr.Handle = 32.7

CALL ShowCWall(zLstObj, Vr)

END SUB

SUB ViewMsgs (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewRWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewSwWalls (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB

SUB ViewWarp (BoxX%, BoxY%, Handle%, MapNo%, Index%)
END SUB



I've re-read your second post (July 17) and you've mentioned: "They even appear/dis-appear when adding/removing a simple constant-declaration." This is my conclusion: QB is having a headache. DEFINT A-Z is to set all numeric variables that start with A all the way through Z to be used as an integer (correct?) YET, you have CONSTants that START WITH [red]B[/red]ase (these are LONG). What is poor QB to do?

Please tell me what I'm NOT doing correctly...to get the wrong answer(s).

--MiggyD
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top