On 11/12/04 2:28 pm, "Brennan" <[EMAIL PROTECTED]> wrote:
> One huge problem with MUI is that callbacks are global. This makes it
> pretty much impossible to make encapsulated code.
> 
> If you can afford it, Pim's OSControl Xtra does everything you might want
> from MUI, and more. It's stable, maintained and fully supported by a
> developer that responds directly ... to questions about it.

Brennan, there is one major difference between dialogs created using the MUI
Xtra and dialogs created using a MIAW:

  MUI dialogs interrupt all other activity, and so can return a
  result directly to the handler that called the dialog.

  MIAW dialogs run simultaneously with the movie on the Stage.
  You cannot interrupt a handler to show a MIAW dialog, then
  continue with the same handler, using a result returned by
  the dialog.

The nearest you can get to the immediacy of a MUI dialog is by using "play
..." and "play done".  This means that the sequence that is "played" must
appear in the same window (or Stage) as the handler that calls it.  No
separate dialog window will open, so you have to fake one.

If you want a movable dialog MIAW, you need to provide a callback handler
and pause the Stage while the MIAW is open.  It can lead to overly complex
code.

I use the MUI Xtra a lot.  I work round the global callback issue by using a
single movie script for all MUI calls.  The movie script uses two globals:
one for the MUI instance itself, one for a list containing layout data and
the current value-to-be-returned.  Only the MUI Script needs to know about
the existence of those two globals, and it clears them out after use, so the
code remains relatively clean.

Cheers,

James


James Newton
The OpenSpark Xtras Team
<[EMAIL PROTECTED]>

<http://xtras.openspark.com>

[To remove yourself from this list, or to change to digest mode, go to 
http://www.penworks.com/lingo-l.cgi  To post messages to the list, email 
[EMAIL PROTECTED]  (Problems, email [EMAIL PROTECTED]). Lingo-L is for 
learning and helping with programming Lingo.  Thanks!]

Reply via email to