Hi David, Yes, it is Main.cmd. And as to why, it was a technique I have used for some time when a primary module has lots of sub modules that return to it and each of them has sub-sub-modules return to them, etc, etc. This was a way of having the main module start "fresh" each time and seemed to work well for version 6x and below.
Great minds think alike, I used "GOTO StartOver" to try to fix it .... :-) Unfortunatly the "GOTO StartOver" causes the same problem. :-( Here is the kicker: If the CHOOSE command is commented out, both the QUIT and GOTO commands cause R:Base to crash and CPU utilization to goto 85% when EXIT is executed. End Task Works. If the CHOOSE command functioning when EXIT is executed the GOTO and QUIT command cause the (page file) virtual memory to slowly increase over 2 or 3 minutes then the memory is released and rbase exits. End Task will not work until the the process is complete at which point R:Base ends normally. If the choose command is deleted, the process is the same as if it is commented out. After spending WAY too much time trying to determine the edges of the problem here it is in a nutshell: In the following code (which needs no database) if the "If Then" clause is commented out, R:Base crashes with CPU utilization running at 80%. If the "If Then" is restored (WITH the "GOTO EndNow" line), the EXIT in the loop works fine. If the Exit in the Loop is removed the EXIT at the end works fine. By the way, if the EXIT is in an 'if-then' clause but still in the loop, R:Base still crashes. Since the if-then is never executed and this is not a While Loop, the EXIT should always work --- something is amiss ... _______________ --tst.cmd LABEL startover SET V vans = 'EXIT' EXIT -- IF vans = 'EXIT' THEN -- GOTO endnow -- ENDIF GOTO startover LABEL endnow EXIT _____________ Thanks, Michael Michael Moser EXAQ Micro Services www.exaq.com Phone: 916-966-8313 Fax: 916-244-0582 >> Michael >> I assume we're LOOKING at MAIN.CMD? >> If so, it's defintely a no no to QUIT TO MAIN.CMD from within MAIN.CMD!! >> Why would you do that? If you want it at that point to start over at the >> beginning of the file, just add >> LABEL TOP at the top >> and replace >> QUIT TO MAIN.CMD with GOTO TOP >> QUIT TO MAIN.CMD belongs at the END of the sub-routines you call from >> MAIN.CMD so it will return to the main menu program. >> David >> David Blocker >> [EMAIL PROTECTED] >> 781-784-1919 >> Fax: 781-784-1860 >> Cell: 339-206-0261 >> ----- Original Message ----- >> From: "Michael Moser" <[EMAIL PROTECTED]> >> To: "RBG7-L Mailing List" <[email protected]> >> Sent: Wednesday, May 25, 2005 1:48 PM >> Subject: [RBG7-L] - R:Base 7.5/7.1 creates 2 GB swap file on exit >> Here is an odd one - R:Base 7.1 or 7.5 running under XP Pro SP2 >> This is part of a file that loops back on itself to redisplay a menu. I >> have used this same process successfully in R:Base 6 without problems. >> If the "Quit to Main.cmd" is simply in the program and the "Exit" line is >> executed, R:Base brings the system to it's knees for about 3 minutes while >> 2 >> GB is written to the swap file then deleted. Then all is back to normal. >> if the "Quit to Main.cmd" line is commented out the "Exit" command works >> fine, no delays. I can't see a reason for this as the "Quit" command is >> farther down in the code and should never be executed when "EXIT" is >> executed. >> No database even needs to be connected so it is not a database issue. >> ------------------------ >> CLS >> CHOOSE vans + >> FROM + >> #LIST 'Safe Deposit,Box Inventory,Video Tapes,R> Prompt,Exit' + >> AT CENTER CENTER CAPTION 'Record Selection' >> IF vans = '[ESC]' OR vans = 'R> Prompt' THEN >> QUIT TO cleanup.cmd >> ENDIF >> IF vans = 'Exit' THEN >> EXIT >> ENDIF >> -- other conditions here >> IF vans = 'Safe Deposit' THEN >> QUIT TO safe.cmd >> ENDIF >> *(causes 2 GB to be written to the Swap file then deleted if the "EXIT" >> command above is executed.) >> QUIT TO main.cmd >> RETURN >> ----------------------- >> Any thoughts? >> Thanks, >> Michael >> Michael Moser >> EXAQ Micro Services >> www.exaq.com >> Phone: 916-966-8313 >> Fax: 916-244-0582
