Jim,
Local variables are only valid during the handler execution that they
are local to. The values are not saved once the handler is exited --
they cease to exist.
Script local variable values are saved --like a global for only this
script.
Dennis
On Dec 22, 2005, at 3:58 PM, Jim Hurley wrote:
I suspect that this issue has been dealt with before, but I don't
get it. I thought I understood what a local variable was.
Create a field. Put a bunch of returns into it--or several lines
of text.
Lock the field and put the following script into it.
Hold the mouse down and move it through the field. I would have
expected a list of the lines that have been moved over to appear in
the msg box. Instead only the current line is shown.
But I so get the entire list if I include tLines as a local script
variable. Apparently tLines is set to empty after every execution
of mouseMove, unless tLines is included as a local script variable.
I get the feeling that mouseMove stops and restarts with every
cycle and therefore forgets the value of tLines.
However if tLines is set as a local script varable then the script
continues to run and therefore remembers tLines.
I had thought that the function of the local script declaration was
to allow the variable to be used throughout the handlers of the
script. However, in this example tLines is used only in mouseMove.
I think I ran into this behavior earlier when adding a rolling
snowball asynchronously to Scott's snow storm. I wondered why local
variables were kept in memory each time a handler called itself
after a few milliseconds. Once again it appears that setting a
local script variable retains the variables in memory--even when
the script stops (?) until called again.
Anyone understand the different behavior of this script depending
on whether tLines is declared as a local script variable? Or, more
challenging, can anyone explain it to me?
local myName, --tLines
on mouseDown
put the name of me into myName
end mouseDown
on mouseUP
put "" into myName
end mouseUP
on mouseMove
if myName is "" then exit mouseMove
put word 2 of the MouseLine into tLine
if tLine is not in tLines then put tLine & comma after tLines
put tLines into msg box
end mouseMove
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution