Something in your main loop is continuously needing more RAM and taking it. You can verify this by opening Task Manager and watching your program's RAM usage. You'll more than likely see it climbing little by little over time.
Make sure there is nothing like a _LOADIMAGE stuck in your main loop that would cause this type of behavior. Would you be willing to share your code or the main loop of it for investigation?
LOADIMAGE
DO
PUTIMAGE
DISPLAY
LOOP
Method Two: Load the image only once and leave it in memory while the program runs.
********************
Just guessing, I'd guess it's a LOAD without FREE issue, somewhere in your code.
Running Task Manager on it, it definitely is ticking up in memory usage by about .2 to .3 MB per second or so.
Did you update to a different version of QB64 since the time you had it running without a memory issue? I think Rob had to debug QB64 a couple of times for memory leaks. I had one several years ago.
I don't believe its with that particular sub, running a test program with just a DO:LOOP calling that SUB and running a program with only a DO:LOOP i saw the same mem seep which topped out on my machine around 38-40 megs and then fluctuated there.
within your actual program there was a major memory jump with a more rapid climb after entering the farm information using CORN option where the memory jumped to ~58megs then climbed by 200-400k every update in task manager.
Removing the use of TAB corrects the issue. Apparently TAB has a memory leak in it somewhere:Code: QB64: [Select]
Entry_Print SUB Entry_Print '(entry AS LoadRecord) '-------------------------DISPLAY---------------------------------------------------- ' SUB: Entry_Print ' ' Purpose: ' Displays tabbed data from record number passed by 'entry' when called. ' ' Passed parameters: ' entry sends the load record for display ' ' Called from: ' Add_Record, Edit_File, Refresh_Screen, and View_File ' '-----------------------------------------------------------------------------------
Thank you, Steve. That works perfectly in the application. It's behaving itself now. Would that be a QB64 issue then?