Bug???? Discuss please!

Mark Smith mark at maseurope.net
Wed Nov 15 10:56:07 EST 2006


 From the docs: "If the field is a card field (not part of a group),  
its sharedText property has no effect."

Which we now know is not strictly true. Which suggests that what  
we're seeing is some kind of side-effect, so maybe not to be relied  
upon.

Best,

Mark

On 15 Nov 2006, at 15:46, Dave wrote:

> Hi,
>
> I just dug up the test stack and verified that EITHER the Shared  
> Text property OR using the long id form of the reference works. e.g.
>
> If sharedText = false then
>     put "XXX" into me
> else
>     set the text of the long id of me to "XXX"
> end if
>
> works ok if sharedText = true or false. If course the:
>
>     set the text of the long id of me to "XXX"
>
> works regardless of the setting of sharedText, but is slower.
>
> It's really difficult to know what to do for the best here. Is this  
> a side-effected action of sharedText or it be relied on to work  
> forever? Or should I go for the long hand safer (hopefully?) code  
> that runs slower? If I have to design 50 windows for an application  
> it's a question I think I would like to know the answer to before  
> doing much coding!
>
> All the Best
> Dave
> ---------------------------------
>
> Hi,
>
> The secret was revealed by finding out that if you set the "shared  
> text" property of the field all works ok, e.g. put "x" into me work  
> as expected, there seems to be a "ghost" context in which "me" is  
> not actually me, or the context gets restored back to it's former  
> state IF the shared text property is off. However I'm not sure if  
> the shared text property is just causing a side-effect that may  
> well change in future releases so I have used the long hand form  
> (which takes longer to execute.
>
> Which version of RunRev are you using and which platform(s)??
>
> On 15 Nov 2006, at 14:40, Mark Smith wrote:
>
>> If I add "select the text of me" to the script of the field on cd  
>> 2, and I press the button on cd 1, I get this error:
>>
>> Chunk: can't select object that isn't open
>>
>> Which is perhaps some sort of clue. However, if there is some text  
>> in the field on cd 2, and you change it's script to
>> on messageY
>>   put me
>> end messageY
>>
>> press the button on cd 1 and it happily puts it's contents into  
>> the message box.
>>
>> So it seems hard to see exactly when we can use "me" and when we  
>> can't.
>> It seems to work in accessing a closed objects own properties --  
>> the long id of me, in your work around -- but not in setting them.
>>
>> However, if we now change the on messageY handler to
>>
>> set the height of me to the height of me * 2
>>
>> and press the button on cd 1, go to cd 2, the field is twice as tall!
>>
>> So that theory goes out the window!
>>
>> Perhaps this "me" trouble is confined to the text of fields?
>>
>> Whether or not this is a bug, it seems to me an ideal subject for  
>> some sort of Wiki - I don't know if RunRev have theirs up and  
>> running, yet. They didn't, last time I looked.
>>
>> I also think there may be a good argument for having special  
>> sections in the Docs that deal with these "me", "it", "the result"  
>> words, which do seem to get confusing, at times.
>
> yes, and add something on the shared text property too.
>
>
>>
>> Best,
>>
>> Mark
>
> Cheers
> Dave
>>
>>
>> On 15 Nov 2006, at 13:55, Dave wrote:
>>
>>> Hi,
>>>
>>> I thought I'd re-visit this as people seem to be in the mood for  
>>> bug fixing or changing documentation. How should this be filed?  
>>> I'm really not sure what needs to be changed, I have listed the  
>>> work arounds I have found at the end. I would suggest that at the  
>>> very least this is mentioned in the PDF and the Online Docs.
>>>
>>> All the Best
>>> Dave
>>>
>>> -------------------------------------------------------------------- 
>>> -------------------------------------------------------
>>> I have a Stack, StackMain.
>>>
>>> In StackMain Card 1, I do:
>>>
>>> -- On a field
>>> on MessageX
>>> put "MessageX" into me
>>> end MessageX
>>>
>>> -- on a button
>>> on mouseUp
>>> send "MessageX" to field 1 of card 1 of  stack "StackMain"
>>> send "MessageY" to field 1 of card 2 of  stack "StackMain"
>>> end mouseUp
>>>
>>>
>>> In StackMain Card 2 I do:
>>>
>>> --On a field
>>> on MessageY
>>> put "MessageY" into me
>>> end MessageY
>>>
>>> --on a button
>>> on mouseUp
>>> send "MessageY" to field 1 of card 2 of  stack "StackMain"
>>> end mouseUp
>>>
>>>
>>> If I press the button on Card 1, then MessageX gets called in  
>>> Card 1 ok and the field gets set to "MessageX". All is fine.  
>>> MessageY in Card 2 field 1 gets called ok too, BUT the field is  
>>> NOT set to "MessageY" as expected????? However if I select card 2  
>>> and then press the button in Card 2, again the MessageY in Card 2  
>>> field 1 gets called AND the field is set ok. All is fine.
>>>
>>> It seems like the following path does not work:
>>>
>>> Card 1:Button 1:mouseUp -->Card2:field 1:MessageY does not work.
>>>
>>> But
>>>
>>> Card 2:Button 1:mouseUp -->Card2:field1:MessageY works fine.
>>>
>>> The weird thing is that the handlers do get called and I have  
>>> stepped over the statement that does:
>>> put "MessageY" into me and that seems to work. However, when you  
>>> select card 2, the field has not been changed.
>>>
>>> -------------------------------------------------------------------- 
>>> -----------------------------------------------
>>> KNOWN WORK-AROUNDS:
>>> -------------------------------------------------------------------- 
>>> -----------------------------------------------
>>> 1. Instead of using the form:
>>>
>>> put "MessageY" into me
>>>
>>> Use:
>>>
>>> set the text of the long id of me to "MessageY"
>>>
>>> 2.  Set the Shared Text Property in the property inspector of the  
>>> field.
>>>
>>> Easy to solve, VERY HARD to TRACK DOWN!!!!!!!!!!!!!!!!!!!!
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> use-revolution mailing list
>>> use-revolution at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your  
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your  
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your  
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list