How to safely set the icon of a button ?
Alex Tweedly
alex at tweedly.net
Sun Feb 27 18:20:04 EST 2005
J. Landman Gay wrote:
> Even if you use an image's short name as an icon reference, the engine
> will try to resolve that into an image ID number. Under the hood, only
> ID numbers can be assigned as icons. So I'm guessing your image IDs
> duplicate some of those in the Rev IDE. Since it is possible to assign
> an ID to an image (they are the only controls that allow this, and it
> is for this exact reason) just assign a different ID to the images
> that conflict.
Thanks - I did that and it now works - for now (but leaves me a bit
worried).
That prompted me to go back and re-read the docs page for "ID" again,
more carefully.
It says
> You can set the ID of an image. Be careful not to set an image ID to a
> number that's the ID of another object in the same stack:
I can (and have) avoided numbers used in my stacks.
> since Revolution uses IDs to keep track of objects, a conflict may
> prevent Revolution from being able to access one or both objects. The
> following ID numbers are reserved and should not be used for image IDs:
>
> * 1-100: reserved for built-in cursors
> * 101-135: reserved for built-in brush shapes
> * 236-300: reserved for built-in patterns
> * 301-1000: reserved for built-in icons
> * 101,000-103,000: reserved
> * 200,000-299,999: reserved for application use
>
Images in the Rev IDE should use IDs from the reserved ranges -
otherwise there's
- no way to avoid conflicts
- no way to tell if they happen other than viewing every image
- and even that's no guarantee since a later version of Rev IDE
may change which image numbers it uses
- or the stacks may load in a different order and make the
conflict visible
- and no way to guess which ID values are safe.
I'm thinking this should be logged as a bug, and the IDE should stick to
the reserved ranges; what do you think ?
--
Alex Tweedly http://www.tweedly.net
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 266.5.0 - Release Date: 25/02/2005
More information about the use-livecode
mailing list