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