Alain Farmer wrote:

Wouter wrote:
I look at MC and RR as stacks interacting with
an engine ... but the impression is growing that what is called the engine, is something composed
of stacks and the engine. Where are the borders
between the IDE, stacks and the engine?

Very *VERY* good point, Wouter.

Where is it? .. indeed!

The engine is the executable file that drives everything, which gets bound to your stackfile when building a standalone.


The engine has no "face" of its own; that is, it has no windows or other visible UI components of its own. It has only the Transcript interpreter and a handful of data resources the interpeter needs (such as the list of color names, month names, etc.).

Any visible element, such as a window, menu, etc., is part of the IDE.

One of the reasons you may need to use the Resource Mover to copy the Ask and Answer dialogs and other components into your stack before building is that they live in mctools.mc. Once your stack is a standalone it no longer has access to stacks in mctools.mc.

In most cases, the dividing line between commands and function in the engine and anything that might be available in a library or backscript is made clear by a convention of prefacing scripted commands with some identifier that makes it clear where they come from.

For example, most libURL calls begin with "libUrl", such as "libUrlSetStatusField", and most calls to Rev libraries begin with "rev", such as "revAppVersion". I tend to preface stuff in my libraries with "fw", and Chipp prefaces his with "alt", etc.

By following these conventions those who publish libraries for others to use make it easy to determine where the handler resides.

So when it comes to the template objects, those are handled by the engine. It is possible, however, for any script to modify the properties of a template object so that any future objects created will have that property, which appears to be what the Rev IDE is doing with graphics.

If you want to see the default engine properties reflected in newly created objects you can use the reset command, like this:

  reset the templateButton
  reset the templateStack

--
 Richard Gaskin
 Fourth World Media Corporation
 ___________________________________________________________
 [EMAIL PROTECTED]       http://www.FourthWorld.com
_______________________________________________
metacard mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/metacard

Reply via email to