On 1/22/13 10:11 AM, Peter Haworth wrote:
Thanks Kay and Phil.
I've gone back to using the original handler since obviously getting the
controls of a stack isn't reliable. I feel like missing random controls in
multi card stacks is a bug, but my opinion on what is a bug and what isn't
seems to differ from others on this list so what do you think? I doubt
there's any chance of it being fixed but I don;t think that's a reason to
not report it.
Phil, thanks for the array tip - turns out I am using an array although not
for the reason you mentioned. Sometimes you just get lucky I guess! Not
sure how to deal with the backgrounds that aren't on any cards. I have
rarely used backgrounds but out of interest, does the IDE Application
Browser show these unplaced backgrounds?
Nope. But you can detect them like so:
repeat with x = 1 to (the number of backgrounds in this stack)
if the number of cards in bg x of this stack = 0 then -- it
isn't placed
place bg x of this stack onto this cd
getControlInfoFromHiddenBg x
remove bg x of this stack from this cd
end if
end repeat
Phil
Pete
lcSQL Software <http://www.lcsql.com>
On Mon, Jan 21, 2013 at 9:48 PM, Phil Davis <[email protected]> wrote:
Another twist in the pursuit of truth:
Backgrounds not placed on any card are included in "the number of
backgrounds in this stack" but nowhere else. (Neither are their controls)
You have to place them onto a card to count their controls.
You could cycle through all the cards and do this:
put the name of control x of this cd into tControlArray[ the short id
of control x of this cd ]
When you're done, the array structure itself will have eliminated
duplicate references. tControlArray contains all control names keyed by
their unique IDs. Except for those pesky 0 ID controls. And the controls in
any unplaced BGs.
Phil Davis
On 1/21/13 9:14 PM, Kay C Lan wrote:
On Tue, Jan 22, 2013 at 3:29 AM, Peter Haworth <[email protected]> wrote:
Looking at the controls that are missed, they are almost all from stacks
that contain multiple cards, seemingly randomly missing a few from each
card. There are also a handful that have an id of zero which I didn't
think was possible but that's another topic.
Quick test:
1) New Main Stack
2) Add a button,
3) Add a new card
4) Add a button
5) Go back to cd 1 and group the single btn and turn it into a background
6) Add a Card (this should come with the bkgnd btn)
7) Add to this a normal btn.
So you should have a 3 card stack with 1 card that has a bkgnd btn on
it, a 2nd card with a bkgnd btn + a normal btn, and a 3rd card with
just a normal btn.
Total number of controls for the stack is 4 (a group for the bkgnd, a
btn in the bkgnd group, and two normal btns.
In the msg box if I enter:
put the number of controls of stack "test"
the answer I get back is always the number of controls of the current
front most card of the stack, I can not get 4 as the answer.
So if I happen to be on the card with only the normal btn, then the
answer is 1, the answer you want is 4, and if I loop through the cards
the answer I get is 6.
As you've already figured, the problem is associated with multi-card
stacks, from what I can tell 'the number of controls of this stack'
will never give the correct answer for a multi-card stack, and if you
loop through all the cards you'll end up duplicating the process for
any background controls.
HTH
______________________________**_________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/**mailman/listinfo/use-livecode<http://lists.runrev.com/mailman/listinfo/use-livecode>
--
Phil Davis
______________________________**_________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your
subscription preferences:
http://lists.runrev.com/**mailman/listinfo/use-livecode<http://lists.runrev.com/mailman/listinfo/use-livecode>
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
--
Phil Davis
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode