Mark Talluto wrote:

On May 15, 2007, at 3:55 PM, Chipp Walters wrote:
I'm using the latest release of Rev 2.8.1
I create a new stack, add a single fld and a single button. In the button script I add:

on mouseUp
 put the long ID of fld 1 into tID
 set the disabled of tID to not the disabled of tID
 put "fred" into tID
end mouseUp

When I press it, the field becomes disabled alternately (as expected). The disabled is only here to show that tID is referenced correctly.

But, "fred" never gets put in the field? I wonder why? Is this a bug?

BTW, this does work:

set the text of tID to "fred"


I think it is a bug.

If Rev variables were types and tID was typed as an object reference it might be a bug.

But as it is, Rev vars are just buckets into which you can put anything you want. One minute you can store a string that refers to an object, the next minute you can store some arbitrary text -- how is Rev to know you mean otherwise?

Rev vars don't have properties, but objects do, so when you say:

  set the text of tID to "fred"

...it knows that you're setting a property so it first evaluates tID to get the object reference, then sets that object's property.

The ambiguity is -- once again -- HyperCard compatibility. In most languages, properties are set in a consistent way, and in Rev the text property can be set using "set the text of...".

But HyperCard allowed the convenience of setting the text property without having to name the property by using "put <val> into <obj>".

While it's convenient to treat the text property of objects as an implied container, the ambiguity inherent in HyperTalk's design has led to a great many confusing moments for many people over the last couple decades.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___________________________________________________________
 [EMAIL PROTECTED]       http://www.FourthWorld.com
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to