On 28/07/2020 08:27, Curry Kenworthy via use-livecode wrote:
Alex:
> Using unambiguous short names prevents behaviour scripts
> that references child controls completely
Sure about that? (Option A)
Yes, I think I am. At least, it prevents using names of the child
objects in the script. The other solution using cached IDs works in a
behaviour script. But I still can't see a way to do it using names.
Give me one more clue please; I'd really like to use option A.
> Inside A, there is a rect called "R" and also a group called "B"
> inside B there is a rect called "R"
Or put the "direct" R in a subgroup also. (Option B)
A-B-R vs A-C-R.
No, unfortunately option B doesn't work. Remember that A and B are
instances of the same group, so when you introduce the extra group level
in A, you do the same in B; i.e. it's now A-C-R versus A-B-C-R
And again Livecode's "incomplete" name matching will give whichever one
has a lower layer number.
Verified:
> *put*thelongnameofgrc"R1"ofgrp"A"
... graphic "R1" of group "C" of group "B" of group "A" of card id 1002
of stack "Untitled 1"
when A-B is lower than A-C (which it has to be to avoid obscuring it).
So I'm going to abandon this idea - I can go back to a different
solution which allows behaviour scripts, but requires slightly more
setup. Not quite so easy to use (initially), but probably easier to
continue to use in the long run.
Many thanks,
Alex.
_______________________________________________
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