Main menu puzzle
Alex Tweedly
alex at tweedly.net
Sat Feb 18 06:26:40 EST 2006
Ken Apthorpe wrote:
(I don't have a helpful working version, so can't include one here ....
but I can tell you where you started to go wrong ....)
>Hi anyone
>
>SHORT VERSION (immediate problem)
>
>Created my first menu, using menu builder and autoscript. Ungrouped to look
>at scripts. File menu has Exit, divider and Quit (for Mac shift). Script
>is:
>
>--The following menuPick handler was generated by the Menu Builder.
>on menuPick pWhich
> switch pWhich
> case "Exit"
> --Insert script for Exit menu item here
> break
> case "Quit"
> --Insert script for Quit menu item here
> break
> end switch
>end menuPick
>
>After exploration to discover an Exit/Quit script, my script is:
>on menuPick pWhich
> switch pWhich
> case "Exit"
> on "Exit" answer "Are you sure you want to exit?" with "Yes" or "OK"
> if it is "OK" then quit
>end "Exit"
>break
> case "Quit"
> on "Quit" answer "Are you sure you want to quit?" with "Cancel Quit" or
>"OK"
> if it is "OK" then quit
>end "Quit"
>break
> end switch
>end menuPick
>
>
>
You don't need (in fact, MUST NOT have) the 'end "Exit"', or 'end
"Quit"' lines in there. There is no 'end' statement after each part of
the switch structure.
So the 'end "Exit"' statement is being taken as an attempt to end the
handler - i.e. to match with the "on menuPick". That's why the error
hint is 'on'
>Error window says error, hint "on".
>
>
>
>
This, and all subsequent errors, are variants of that.
A good hint is to use the TAB key in the editor, to get the script to be
automatically properly indented. This will help you check that the
various control structures are properly matching up - mismatching
if-then-else or switch-end switch can lead to confusing error messages.
>LONG VERSION (working example of newbie problem)
>
>First question is what does pWhich mean?
>
it's a parameter name - so it could have been anything.
It's a convention to start parameters names with 'p' to help you
remember that it is a parameter to the handler/function, and to name it
helpfully. So pWhich is the parameter telling you which menu has been
picked.
-- Alex.
--
Alex Tweedly http://www.tweedly.net
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.375 / Virus Database: 267.15.11/264 - Release Date: 17/02/2006
More information about the use-livecode
mailing list