[futurebasic] Edit Field conflicts with Menu

Message: < previous - next > : Reply : Subscribe : Cleanse
Home   : August 2000 : Group Archive : Group : All Groups

From: Richard Goodman <bhomme@...>
Date: Mon, 7 Aug 2000 10:03:25 -0700
For some reason I encounter bugs that seem to have no rational explanation.
This one is a lulu.  I am working on a rather elementary program for
calculating compound interest. It contains the following function to create
a menu from which the user can select an interest rate:

LOCAL FN buildmenus
MENU 1,0,_enable ,"File"
MENU 1,1,_enable,"Quit/Q"
MENU 2,0,1, "Interest Rate"
MENU 2,1,1, "2%"
MENU 2,2,1, "2.5%"
MENU 2,3,1, "3%"
MENU 2,4,1, "3.5%"
MENU 2,5,_checked, "4%"
MENU 2,6,1, "4.5%"
MENU 2,7,1, "5%"
MENU 2,8,1, "5.5%"
MENU 2,9,1, "6%"
itemchecked = 5
rate = .04
end fn

The function that processes a menu click looks like this:

DIM menuID
DIM itemID
DIM thisitem
LOCAL FN menuprocess
  menuID = MENU(_menuID)
  itemID = MENU(_itemID)
   CASE 1                         'quit
          FN Quit
   CASE 2                         'interest rate
     FOR thisitem = 1 to 9
     if thisitem = itemchecked then menu 2,thisitem,1    'uncheck the
previously checked item

     SELECT itemID
     CASE 1
     rate! = .02
     MENU 2,1,_checked
     CASE 2
     rate! = .025
     MENU 2,2,_checked
     CASE 3
     rate! = .03
     MENU 2,3,_checked
     CASE 4
     rate! = .035
     MENU 2,4,_checked
     CASE 5
     rate! = .04
     MENU 2,5,_checked
     CASE 6
     rate! = .045
     MENU 2,6,_checked
     CASE 7
     rate! = .05
     MENU 2,7,_checked
     CASE 8
     rate! = .055
     MENU 2,8,_checked
     case 9
     rate! = .06
     MENU 2,9,_checked
itemchecked = itemID
end fn

Pretty straightforward stuff, right?

However, I've found that when the user chooses any of the interest rates
3%, 3.5%, 4%, or 4.5%, the menu does not respond. In fact, using a BEEP, I
find that the CASE for the given rate is not recognized at all. The other
rates are recognized OK. By a lengthy process of trial and error, I've
narrowed down the conflict to the following two statements (from a function
that builds the single window in the program):

EDIT FIELD #6,"1", (440, 310)-(500, 330),_FramedNoCR  ' for user to enter
duration of investment
EDIT FIELD #4,"100", (440, 230)-(500, 245), _FramedNoCR' for user to enter
starting principal

If I change the two edit fields to _Statnoframed, the problem disappears.
But I want the edit fields "editable!"

I haven't a clue as to what's going on here. Why would the nature of an
edit field interfere with the ability to choose some menu items. Can anyone
help me here?


Richard Goodman