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

Reply via email to