Start Using
Gordon
gwalias-rev at yahoo.com
Sun Dec 12 15:16:02 EST 2004
OK, thanks to the help of Rob and others, I have a
"setGlobal" function that works
Here it is:
on setGlobal tname, tvalue
set the tname of button "Button" of stack
"EZGlobals" to tvalue
end setGlobal
- When I hit a button on the calling stack, it creates
custom properties just fine in the button on my
library stack.
But when I ty to poll the values of these custom
properties (which I can see in the inspector), they
are empty but I get no error.
Here's the retrieving function in the library stack
function getGlobal tname
return the customProperties[tname] of button
"Button" of stack "EZGlobals"
end getGlobal
So for example, I set a global called "myVar" to 144.
I can see it in the custom properties of the button on
my library stack. When I do "answer
getGlobal("myVar")" either from the calling stack or
the message box, it works without an error but I get
an empty value.
Any ideas?
Best
Gordon
--- Rob Cozens <rcozens at pon.net> wrote:
> Gordon,
>
> >
> >Could you elaborate on the "gotcha" thing. I
> changed
> >my function from
> >
> > "function setGlobal <params>"
> >
> >to
> >
> > "on setGlobal <params>"
> >
> >and now I don't get the error message, but instead
> of
> >setting the cutom property "myVar" of the button to
> >23.6, it creates a cutom property called
> "myVar,23.6"!
> >
> >What's the difference between a command and a
> >function- I even tried setting "setGlobal" back to
> a
> >function and returning something, but then I got
> the
> >old "handler not found" error again. I am confused
> >about commands and functions - why are my functions
> >not seen and which should I use and when?
>
> A command starts with "on"; a function starts with
> "function"
> When calling a function, the arguments to be passed
> are enclosed in
> parens (); when calling a command they are
> not--though individual
> arguments may contain ()..
> A function must return a value; a command may return
> a value.
>
> The Rev script parser looks for the "(" in a handler
> call to
> determine whether it is a function or command. If
> it sees "setGlobal
> params" it generates a "command message"; if it sees
>
> "setGlobal(params)" it generates a "function
> message".
>
> So if one had a command "setGlobals" and scripted
> "setGlobals (the
> short name of the target)", one would get a "handler
> not found"
> [expecting a function]; whereas scripting.
>
> "get the short name of the target
> setGlobals it"
>
> will work.
>
>
> >Here are the "setGlobal" and getGlobal functions
> >
> >on setGlobal tname, tvalue
> > set the tname of button "Button" of stack
> >"EZGlobals" to tvalue
> >end setGlobal
> >
> >function getGlobal tname
> > return the tname of button "Button" of stack
> >"EZGlobals"
> >end getGlobal
>
> I don't see any obvious error. How are tname &
> tvalue set before the
> setGlobal command is called.
> --
>
> Rob
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
>
http://lists.runrev.com/mailman/listinfo/use-revolution
>
=====
:::::::::: Gordon Webster ::::::::::
More information about the use-livecode
mailing list