Qbasicnews.com

QBasic => QB Discussion & Programming Help => Topic started by: tox_von on April 19, 2010, 10:21:06 AM



Title: memory/data errors
Post by: tox_von on April 19, 2010, 10:21:06 AM
I've been getting out of data space and out of memory errors.

The second time i run my program i get these.

Is there any way to clear the memory when the program starts. i searched the tutorials for this but couldn't find anything.(or is there any other way to get rid of these.)


Title: Re: memory/data errors
Post by: Clippy on April 19, 2010, 02:32:32 PM
Use RESTORE to read DATA again. You cannot read beyond the end of DATA!

Memory errors could come from too large arrays to too large of a program. Try breaking the program up into SUB programs.


Title: Re: memory/data errors
Post by: tox_von on April 23, 2010, 09:56:15 AM
i thought i fixed this when i found the CLEAR statement it worked at first.
Then i started doing more dim shared stuff and it returned is there a limit to how much there can be here?
if i dim shared stuff in subs could this work?


Title: Re: memory/data errors
Post by: kinem on April 27, 2010, 02:58:21 PM
Try the /ah command line option and use dynamic arrays (redim) if you haven't already.

It may be time for you to move on up to QB64 or Freebasic.


Title: Re: memory/data errors
Post by: Clippy on May 05, 2010, 03:41:26 PM
Clear does NOT restore the DATA! If you have several DATA fields you can name them andv RESTORE the ones you need.

To name a DATA field use a line label:

MyData1:

DATA ,,,,,,,,,,
DATA ,,,,,,,,,,,
DATA ,,,,,,,,,,

When you READ the DATA you can restore that data field only:


RESTORE MyData

FOR i = 1 TO 20  'read 40 values using 2 variables
READ nam$, age%, address$
NEXT

I advise placing all DATA fields after the main program code has ended. That way, you don't accidentally go to the wrong DATA fields.