Weirdness Passing Messages

David Burgun dburgun at dsl.pipex.com
Thu Mar 23 13:48:26 EST 2006


On 23 Mar 2006, at 18:26, Richard Gaskin wrote:

> David Burgun wrote:
>> Thank you sooooooooooo much, you have no idea of how it felt to  
>> be  trying to sort this out. I really don't know much about the  
>> internals  of RunRev to have a clue as to where to start looking  
>> sometimes!
>
> That's what this list is for.  Every language has its  
> "gotchas" (Mikey was once cataloging the ones for Transcript --  
> Mikey, still got that URL active?).
>
> I remember working with THINK C years ago and finding myself  
> frustrated that none of the C examples in Bond's book on externals  
> would compile correctly.  "Surely it's me," I thought, and figured  
> I'd learn more later and move on to writing other things.
>
> Later I was using Code Warrior and woke up one day to find that  
> Apple had changed most of their headers, requiring me (and every  
> other developer) to make extensive revisions to our code.
>
> Later on I was talking about my bad luck with C (one of the reasons  
> I fell in love all over again with xTalk was the tedium of C) with  
> Mark Lucas, perhaps the best C Mac programmer I know, and he said,  
> "Dude, I could have saved you a lot of time with Bonds -- none of  
> those examples have worked with any compiler for years." :)
>
> Always a new gotcha to discover....

Yep! I've been thru something like this too, the difference here that  
springs to mind is that the book you are talking about was written by  
a third party, whereas the problem here is with the makers of the  
product.

The thing is that there are loads of example stacks and examples in  
the documentation that use the form:

put <something> into me

IMO, they should *all* be changed so that they work 100% of the time  
or at least a footnote given stating that it will only work *some* of  
the time!

I'm in the process of changing all my scripts now! I just realized  
that a bug I had in a completely different stack was due to this. I  
worked around the problem another way (using the "openCard" handler  
to re-initialize the objects in question).

Just so I understand this:

in some circumstances; put <something> into me

Result in the object contents being used instead of the reference to  
the object? If this is true, then if the field just happened to  
contain "button 1", would:

put "XXXXX" into me

result in the contents of button 1 being changed?

Thanks a lot
Dave








More information about the Use-livecode mailing list