Explicit Variables again

Richard Gaskin ambassador at fourthworld.com
Fri Oct 19 13:25:30 EDT 2012


Peter Haworth wrote:

> messageBoxRedirect?  I can find no mention of that in the dictionary.  What
> does it do?
>
> I look forward to seeing your message box replacement Richard.  I have that
> as a future enhancement to my lcStackBrowser plugin but sounds like you may
> have saved me the trouble!

My bad: it's actually called "revMessageBoxRedirect".

And you're right:  oddly, it isn't documented, but can potentially be 
useful for other things than what it was originally implemented for, so 
I just logged a request for its documentation:
<http://quality.runrev.com/show_bug.cgi?id=10481>

The revMessageBoxRedirect global property was originally added at my 
request to overcome a limitation formerly in the engine which prevented 
us from replacing the Message Box stack without crashing.  I was 
pursuing a path for migrating portions of the MetaCard IDE for use 
within the LiveCode IDE, and this was preventing that work from going 
forward.

Their solution for this far exceeded my expectations, and can be useful 
for all sorts of MB replacements and diagnostic tools.

The revMessageBoxRedirect global prop defaults to empty, and when empty 
any "put" commands have their output sent to the main field in a stack 
named "Message Box" (and you really should use only LC's provided 
Message Box stack, because I've found that attempting to replace it with 
another of the same name on the fly is problematic).

But you can set the value of the revMessageBoxRedirect to the long ID of 
any object, and after having done so that object will then receive a new 
message, msgChanged, whenever any script triggers an action that would 
normally put output into the Message Box, e.g.:

on msgChanged pMsg
   put pMsg into fld "Messages" of stack "My Cool Message Box"
end msgChanged


Certainly a specialized need, which may be why they've never bothered to 
document it.

But serious toolmakers will find it interesting, and it can lend itself 
to certain types of logging solutions which can be useful and fun to build.

--
  Richard Gaskin
  Fourth World
  LiveCode training and consulting: http://www.fourthworld.com
  Webzine for LiveCode developers: http://www.LiveCodeJournal.com
  Follow me on Twitter:  http://twitter.com/FourthWorldSys




More information about the use-livecode mailing list