On 24/10/2012 21:26, charles61 wrote:
I tried your script suggestion. It reported card 32 and button 38. When I
checked this information, there were no checkbox buttons that have custom
properties on this card.
I went through my project and checked all of the some 700+ checkboxes and
did not find any checkboxes that had the uMyLabel custom property and no
custom property label.
Note that LiveCode makes no distinction between an object having a custom
property with an empty string, and an object that doesn't have that custom
property.
If you ask for the uIjustMadeItUp of any object, the value will be the same
empty string as it would be if there was a custom property of that name.
(There is a way of testing whether the custom property actually exists, but
it's convoluted.)
So like Thierry I suspect the problem is that you have five checkboxes - which
might be on one card or five cards - that have no uMyLabel property or a
uMyLabel property with empty value.
Thierry's script suggestion had the problem that it will only show you the
last found one (because each "put" overwrites the previous). So if you want
to find them - ie if you don't think you should have any - then you could make
this variation, to just collect the card and button info for checkboxes that
either don't have the uMyLabel property, or have it empty:
repeat with y = 1 to the number of cards of stack "MyStack"
if the mark of card y of stack "MyStack"= true then
put the number of buttons of card y of stack "MyStack"into nbr
repeat with n = 1 to nbr
if the style of button n of card y of stack "MyStack" is "checkbox"\
and the hilite of button n of card y of stack "MyStack" then
if the uMyLabel of button n of card y of stack "MyStack" is
empty then
put y && n & cr after theList
end if
-- temporarily suppress normal data collection
-- put the uMyLabel of button n of card y of stack "MyStack" iinto tName
-- put tName & cr after theList
end if
end repeat
end if
end repeat
On the other hand if you don't care about that, then just add another test so
that you don't collect the ones where it's empty:
> repeat with y = 1 to the number of cards of stack "MyStack"
> if the mark of card y of stack "MyStack"= true then
> put the number of buttons of card y of stack "MyStack"into nbr
> repeat with n = 1 to nbr
> if the style of button n of card y of stack "MyStack" is "checkbox"\
> and the hilite of button n of card y of stack "MyStack" then
put the uMyLabel of button n of card y of stack "MyStack" into tName
if tName <> empty then
put tName & cr after theList
end if
> end if
> end repeat
> end if
> end repeat
HTH,
Ben
_______________________________________________
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