LiveCode 4.6.1 message path and behaviors

Ken Ray kray at sonsothunder.com
Sun May 22 19:19:10 EDT 2011


> don't address a person directly, maybe someone else would have helped, but now
> you scared them away :P

Not all of them.. ;-)

 
> You where right on the send part not accepting arrays, i never realised that,
> funny.

Actually, "send" *does* accept arrays... it's just that you have to
structure the send a little differently:

on mouseUp
  put "Ken" into tNameA["First"]
  put "Ray" into tNameA["Last"]
  send "ShowName tNameA" to me
end mouseUp

on ShowName pNameA
  put "My name is:" && pNameA["First"] && pNameA["Last"]
end ShowName

> There's 2 types of handlers, functions and commands, both are interchangeable
> considering the message path, with the caveat that you can't send or call
> functions. handlers are run by just using their name, while functions behave
> like a container (sort of).

Sorry - you can call functions with the value() function - it's pretty
rarely used (granted), but it *does* work:

Script of Btn 1:

on mouseUp
  put "Ken" into t1
  put "Ray" into t2
  put value("RemoteFunction(" & t1 & "," & t2 & ")",long id of btn 2)
end mouseUp

Script of Btn 2:

function RemoteFunction pParam1,pParam2
  return (pParam1 && pParam2)
end RemoteFunction

(BTW: Note that if I'd used:
   put value("RemoteFunction(t1,t2)",long id of btn 2)

it would have put "t1 t2" instead of "Ken Ray".)

The other thing to be aware of is that (if I remember correctly) all
libraries are at the same "level"; that is, even if you load Library A first
and then Library B, Library B can still execute commands in Library A. Same
goes for frontscripts calling each other, and backscripts calling each
other.

Just my 2 cents,

Ken Ray
Sons of Thunder Software, Inc.
Email: kray at sonsothunder.com
Web Site: http://www.sonsothunder.com/






More information about the use-livecode mailing list