I just glanced at this. Down at the very beginning, I noticed something odd. One cannot do anything with “the text" of a variable; that would not throw an error, but would always be empty, no?
Craig > On Jun 28, 2022, at 3:49 PM, Peter Bogdanoff via use-livecode > <use-livecode@lists.runrev.com> wrote: > > Hi Bob, > > I need more detail how to word the command. No need to send in time, just how > to call that function on a card not in the message path. Thanks! > >> On Jun 28, 2022, at 12:12 PM, Bob Sneidar via use-livecode >> <use-livecode@lists.runrev.com> wrote: >> >> 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 > > > _______________________________________________ > 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