Send IF you need in time. Stupid spell correct. It cannot be me mistyping. 

Sent from my iPhone

> On Jun 28, 2022, at 12:08, Bob Sneidar <bobsnei...@iotecdigital.com> wrote:
> 
> Send in you need in time. Dispatch if you are not sure the handler exists in 
> the target. Dispatch will not throw an error if there is no handler. 
> 
> Sent from my iPhone
> 
>> On Jun 28, 2022, at 11:05, Peter Bogdanoff via use-livecode 
>> <use-livecode@lists.runrev.com> wrote:
>> 
>> Bob,
>> 
>> This makes sense.
>> 
>> I’m unclear as to how I would structure the command to call a function in a 
>> card that’s not in the message path. 
>> 
>> send … ?
>> 
>> Peter Bogdanoff
>> 
>>>> On Jun 28, 2022, at 8:34 AM, Bob Sneidar via use-livecode 
>>>> <use-livecode@lists.runrev.com> wrote:
>>> 
>>> Your point brings up something that was discussed before on this list. It's 
>>> going to be cleaner in the long run to "compartmentalize" your handlers so 
>>> that a handler is not trying access objects that are not in the message 
>>> path, or belong to an object in the message path. A handler should not if 
>>> at all possible "reach out and touch" something on another card. 
>>> 
>>> If you need to get or set something on a card other than the one in the 
>>> message path of the current handler, it's better to have a command or 
>>> function in the script of the target card. That way you can say: 
>>> 
>>> function returnTheText pFieldName
>>> return the text of field pFieldName of me
>>> end returnTheText
>>> 
>>> If you DO need to have handlers working in a broader context, then when 
>>> calling the handler get the long id of the target card first and then pass 
>>> that in a parameter to the handler. 
>>> 
>>> For instance I have a handler called Extract which retrieves to values for 
>>> every object on a card with certain prefixes in their name like fld or btn 
>>> or menu. I pass the long id of the card they are on so that there is never 
>>> any confusion as in: 
>>> 
>>> function extract tParentCard
>>> return the text of field 1 of tParentCard
>>> end extract
>>> 
>>> Bob S
>>> 
>>> 
>>>>> On Jun 27, 2022, at 20:27 , Neville Smythe via use-livecode 
>>>>> <use-livecode@lists.runrev.com> wrote:
>>>> 
>>>> If I write
>>>> 
>>>>  put the long id of field 1 of card 1 into tObject; put the text of tObject
>>>> 
>>>> I get the text of field 1 of card 1, right ? Not necessarily.
>>>> 
>>>> If field 1 of card 1 is in a shared group, then what I get is the text of 
>>>> field id something of card id whatever, where whatever is the id of the 
>>>> current card or maybe the first card containing the group. 
>>>> 
>>>> This is not actually a bug when you read the docs carefully but it 
>>>> certainly is a trap and in my case a major bug generator. It means this 
>>>> seemingly obvious way of obtaining the long id of an object (rather, in 
>>>> this case an instance of an object)  cannot be used to uniquely identify 
>>>> it when getting its properties.
>>>> 
>>>> The workaround is to replace card id (whatever) with card id (the id of 
>>>> card 1) in tObject;  the properties of tObject returned are then the 
>>>> properties of the expected instance of the object.
>>>> 
>>>> Sigh, a new version of nsScriptDatabase coming up.
>>>> 
>>>> Neville
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> use-livecode mailing list
>>>> use-livecode@lists.runrev.com
>>>> Please visit this url to subscribe, unsubscribe and manage your 
>>>> subscription preferences:
>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>>> 
>>> 
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode@lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your 
>>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode@lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription 
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to