Memory Overflow Error

Please use this Board for QBasic related requests ( file research, programming, etc.)

Moderators:Administrator, Global Moderator

Guest
Re: Memory Overflow Error

Post by Guest » Sun Aug 31, 2003 8:47 pm

i'm getting a 'program memory overflow' error when trying to compile with QB 7.1 ... is this the same thing being discussed here?

My program runs interactively w/o a problem ... i thought compiling would allow me to have a larger program, larger arrays, etc ... ???

thx

Dr_Davenstein
QBasic God
Posts:166
Joined:Tue Mar 25, 2003 12:45 am
Location:U.S.A.
Contact:

Re: Memory Overflow Error

Post by Dr_Davenstein » Mon Sep 01, 2003 2:07 am

You have to load the library from the command line.
If your using QBX(7.1) there a few more options that you can play with, but to get the library to load all you have to do is type this in at the command line
"C:\QBX\QBX.exe /L Future71 /AH"

Image

Code: Select all

QuickBASIC Command Line Options

The full syntax for the QB command is the following:

QB [/RUN [programname]][/B][/G][/H][/NOHI][/C: buffersize][/L [libraryname]]
   [MBF] [/AH] [/CMD string]

These options can be typed on the DOS command line following the QB command
and have the effects described. Use the options in the order listed.

Option              Description

/RUN [programname]  Causes QuickBASIC to load and run programname before
                    displaying it.

programname         Names the file to be loaded when QuickBASIC starts.

/B                  Allows the use of a composite (black-and-white) monitor
                    with a color graphics card. The /B option displays
                    QuickBASIC in black and white if you have a color monitor.

/G                  Sets QuickBASIC to update a CGA screen as fast as
                    possible. The option works only with machines using CGA
                    monitors. If you see snow (dots flickering on the
                    screen) when QuickBASIC updates your screen, then your
                    hardware cannot fully support the /G option. If you
                    prefer a clean screen, restart QuickBASIC without the
                    option.

/H                  Displays the highest resolution possible on your
                    hardware.

/NOHI               Allows the use of a monitor that does not support high
                    intensity.

/C: buffersize      Sets the size of the buffer receiving data. This option
                    works only with an asynchronous communications card.
                    The default buffer size is 512 bytes; the maximum size
                    is 32,767 bytes.

/L [libraryname]    Loads the Quick library that is specified by libraryname.
                    If libraryname is not specified, the default Quick
                    library, QB.QLB, is loaded.

/MBF                Causes the QuickBASIC conversion functions to treat
                    IEEE-format numbers as Microsoft Binary format numbers.

/AH                 Allows dynamic arrays of records, fixed-length strings,
                    and numeric data to be larger than 64K each.

/CMD string         Passes string to the COMMAND$ function. This option
                    must be the last option on the line.
;)
Come check out [url=http://www.freebasic.net/forum/index.php]FreeBASIC[/url]. The syntax is based on QuickBasic, but it expands to use pointers, operator overloading, etc... The list goes on and on!

Guest

Re: Memory Overflow Error

Post by Guest » Mon Sep 01, 2003 3:55 am

The Future45 (for qb45), and the Future71 (for qb7.1) are missing from my qb-s (the program says: Cannot find file (Future45.qlb)).
I downloaded the 7.1 from here, and i try to work all two.
Is it the problem?

But, what if i send the program for you? It's a strange solving, i know, but maybe you could help me, if you see the problem.

Or, where can i find these Future-things?

Dr_Davenstein
QBasic God
Posts:166
Joined:Tue Mar 25, 2003 12:45 am
Location:U.S.A.
Contact:

Re: Memory Overflow Error

Post by Dr_Davenstein » Mon Sep 01, 2003 4:33 am

Here's the URL for a copy of Futlib.
http://piptol.qbasicnews.com/files/fl35.zip
If you still can't get it to work then send it to my email. I'll see if I can help.

Wanna see a project of mine using Future45?

http://www.terraworld.net/davidstanley/ ... UNPACK.exe
Come check out [url=http://www.freebasic.net/forum/index.php]FreeBASIC[/url]. The syntax is based on QuickBasic, but it expands to use pointers, operator overloading, etc... The list goes on and on!

Composer
Newbie
Posts:3
Joined:Thu Aug 21, 2003 6:04 am

Re: Memory Overflow Error

Post by Composer » Mon Sep 01, 2003 6:20 am

Looks like it may be quite good Dr, but I am missing one of the Bi files, so the program won't even run, and it complained about me not having EMS runnin, but Im sure I can fix that one, (I hope)

Dr_Davenstein
QBasic God
Posts:166
Joined:Tue Mar 25, 2003 12:45 am
Location:U.S.A.
Contact:

That is'nt the problem.

Post by Dr_Davenstein » Mon Sep 01, 2003 7:25 am

I compiled it as a stand-alone executable file(Pacman.exe), so you don't need the bi-files if you run that program. As for the EMS thing, Yeah, she is a memory HAWG! It takes a butt-load of EMS to store 280+ 64x64 24BIT sprites and 4 full 640x480 screen-pages! ::)
Come check out [url=http://www.freebasic.net/forum/index.php]FreeBASIC[/url]. The syntax is based on QuickBasic, but it expands to use pointers, operator overloading, etc... The list goes on and on!

Guest

Re: That is'nt the problem.

Post by Guest » Mon Sep 01, 2003 3:45 pm

Thank you, but my computer cannot run in 640X480, so i can't run the pacman (or i don't understand, what you said).

And i cannot find the future.QLB. so the qb still can't run without this.

I send the program to you.

Thank you, Dr.

Composer
Newbie
Posts:3
Joined:Thu Aug 21, 2003 6:04 am

Re: Memory Overflow Error

Post by Composer » Mon Sep 01, 2003 6:42 pm

Sorted out the EMS Dr, simple adjustment on program properties, no worries, when I go to run it now tho,  it says it can't find SOUNDSYS.DAT, any chance you can post that, or a link to it, so I can check out your PACMAN  ;D

Guest

Re: Memory Overflow Error

Post by Guest » Tue Sep 02, 2003 2:57 am

i double checked my program [opens a series of seq files, loads them into an array, massages the data and outputs a 'print' file]: i already had $dynamic, setmem=64000 and all debugging was off when i attempt to compile. Running from DOS command line, results are:
BC C:\DATA\PGMS\PROD\X.BAS/O/Ot/G2/S/Fs/Lr/FPi/AH/T/C:512;                      
Microsoft (R) BASIC Compiler Version 7.10                                      
Copyright (C) Microsoft Corporation 1982-1990. All rights reserved.              
0023   02C0               ELSEIF mo = 10 THEN md = 273: ym$ = ym$ + "V"                                  

^ Program-memory  overflow                                                                                                            
45312 Bytes Available                                                          
21451 Bytes Free                                                                                                                                                    
0 Warning Error(s)                                                              

any other ideas???

Dr_Davenstein
QBasic God
Posts:166
Joined:Tue Mar 25, 2003 12:45 am
Location:U.S.A.
Contact:

Did you run Setup.exe first?

Post by Dr_Davenstein » Tue Sep 02, 2003 2:11 pm

Composer:
You may have missed that while you were having problems with the EMS.  I'm still messing with it though, so if that does'nt work just send me an email because I also found a small error at the beginning of my code!

Sven:
Was it your code that I recieved in my email? If so, you really need to organize it better. I'm not being a butt-head or anything but it's very hard to dechipher. When I write programs I try to use explanatory names for my variables and line lables. Like this...

Instead of a string variable named p1n$
Why not call it Player1Name$ ?
See what I mean? Sure, you have to type more but it's worth it! Trust me.
It makes things alot easier for you, and it makes it alot easier to understand for other people who might try to help you.
Come check out [url=http://www.freebasic.net/forum/index.php]FreeBASIC[/url]. The syntax is based on QuickBasic, but it expands to use pointers, operator overloading, etc... The list goes on and on!

Guest

Re: Memory Overflow Error

Post by Guest » Tue Sep 02, 2003 6:37 pm

wasnt my code Doc, altho mine is probly just as cryptic.

My pgm is a straightforward bizness application: read a seq file into an array, massage data, print, close file and repeat. It runs great interactively, but i'm experiencing out-of-memory problems there, so im forced to compile ... but i get 'program-memory overflow'.

Ive checked it  for $DYNAMIC, SETMEM and that DEbug was 'off' ... but it wont compile cleanly! BTW, im running WIN/XP & QB 7 from the DOS prompt.

Obviously im missing something??? Can a pgm that runs interactively, be too big to compile?

Help ... P L E A S E!

sven
Newbie
Posts:1
Joined:Tue Sep 02, 2003 8:26 pm

Re: Memory Overflow Error

Post by sven » Tue Sep 02, 2003 9:23 pm


apparently my pgm WAS to big ... i removed an approx 2k SUB and it compiles cleanly.

thx!

BTW, i was surprised my program runs slower after being compiled [not critical tho]

Guest

Re: Memory Overflow Error

Post by Guest » Sat Sep 06, 2003 6:36 am

i just wanna know were i can get QB for free e-mail me at cbarnes@nya.org ;D ;D ;D ;D ;D ;D ;D ;D ;D ;Dplease

Post Reply