RE: Object References

Andreas Kraft (kraft@fokus.gmd.de)
Mon, 4 Jan 1999 13:40:28 +0100 ((MEZ) Mitteleurop. Zeit)

Dear MUGer's,

first, I hope you all had a merry christmas and a good start into the
new year.

On Mon, 4 Jan 1999, Emmanuel BEUQUE wrote:
> I agree that direct declaration of initial value to a reference outside the
> application scope is not allowed, following chapter 51 rules.
> ...
> Though, it seems absolutely feasible to me that this variable can later
> store a reference like the one above.
>
> Once scene1 is active, it seems to me that nothing prevents using
> SetVariable action targeted on the shared application's objectRefVar to set
> it to an active and visible reference ('~/scene1.mhg' 23).
>
> Moreover, I expect that this variable keep its value when scene1 is
> destroyed and could still be used if I come back to scene1 later.
> Even more importantly, I expect to be able to set a shared variable as an
> objectRef to a scene object itself ('~/scene1.mhg' 0) and being able to use
> it as a indirect target for a transitionTo action from any active scene of
> the application.

First, the wording in chapter 51 is not necessarily clear in the case
when an object reference moves from one scope to the other. The
example given above when a (global) variable is legally set in one
scope and the scope changes. The variable still contains a valid
object reference but, however, the target is not valid anymore.

To interpret chapter 51 that an ORef-variable must not contain a
reference which is not in the current scope does unecessarily limit
the use. Imagine, for example, that a variable is set in one scene,
but (legally) used in another one.

The technical corrigendum changes the definition in chapter 51 in the
way that it is now allowed for an ORef-variable to _contain_ an object
reference which is not in the current scope.

The following paragraph is added to chapter 51.

The value of an ObjectRefVariable object can be any
ObjectReference. It is not required that this ObjectReference
complies to the restrictions defined in this chapter as long as it
not used. The restrictions of this chapter only apply at the
moment the ObjectRefVariable object gets used to de-reference an
MHEG-5 object in a parameter of an elementary action.

Best regards,

Andreas

-- 
  o  _     Andreas Kraft
 (\_|_)      GMD FOKUS, kraft@fokus.gmd.de, +49 30 3463-7232
 T> ] [        The sky is the limit