that error is 100% of the time caused by everything with bload and
memory manipulation in general.
remember, an integer in QB takes up 2 bytes, so you'll need to use the number of indices in the array Times 2
i.e.
dim grass%(499) ' 500 indices 0-499
the only other thing i can see that COULD cause problems is that youre not using the VARPTR... i dunno if this matters but just to be safe you should always do
Code:
DEFSEG = VARSEG(grass%(0))
BSAVE "grass.jpm", VARPTR(grass%(0)), 1000
instead of
Code:
DEFSEG = VARSEG(grass%(0))
BSAVE "grass.jpm", 0, 1000
but the next problem i see is that it is indeed grass() and not grass%().
QB defaults to Single data types, so every index in that array is taking up four bytes....
hope some of this helps you solve you problem dude