Michael,

I thought that the preferred way was to GOTO the exit, rather than have
the exit in the IF..THEN.  So using your original file, I would do this:

--main.cmd
LABEL STARTOVER
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
GOTO ENDNOW
ENDIF

-- other conditions here

IF vans = 'Safe Deposit' THEN
 QUIT TO safe.cmd
ENDIF

GOTO STARTOVER
LABEL ENDNOW
EXIT
RETURN


I've tried it on my end, and all functions well.

Dawn

-----Original Message-----
From: Michael Moser [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 25, 2005 8:15 PM
To: RBG7-L Mailing List
Subject: [RBG7-L] - re: R:Base 7.5/7.1 creates 2 GB swap file - not so
fast! Now R:Base crashes with 85% CPU utilization

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