Fair enough.  I just wanted to be able to switch out the values for the
various icons at runtime based on user configuration.

On Fri, Jul 25, 2008 at 1:07 PM, Alex Harui <[EMAIL PROTECTED]> wrote:

>    Class initialization is just a bunch of code.  The eye class may not be
> fully setup by the time customIcons is getting initialized.
>
>
>
> When it is an instance var, the eye class has probably been fully setup by
> instantiation time.
>
>
>
> Assigning default values to statics that are not compile-time constants is
> "dangerous"
>
>
>  ------------------------------
>
> *From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On
> Behalf Of *Pan Troglodytes
> *Sent:* Friday, July 25, 2008 10:05 AM
> *To:* flexcoders
> *Subject:* [flexcoders] problem with embeds in static variables
>
>
>
> I'm confused as to why the following gets a runtime error:
>
> package nes
> {
>   import mx.collections.ArrayCollection;
>
>   public class WATIcons
>   {
>
>     [Embed(source="/assets/customIcons/eye-16x16--CCFFF.png")] public
> static var eye:Class;
>     public static var customIcons:ArrayCollection = new
> ArrayCollection([eye]);
>   }
> }
>
> TypeError: Error #1009: Cannot access a property or method of a null object
> reference.
>     at nes::WATIcons$/get eye()[C:\Documents and Settings\xxxxxxxx\My
> Documents\Flex Builder 3\WATControl\nes\WATIcons.as:70]
>     at nes::WATIcons$cinit()
>
> Yet if I remove the static and create an instance of the class, I don't get
> any errors.  I can then use the customIcons array element 0 just fine.  I'd
> really rather have them as static, as they are used all over in the
> application.  Is there some way around this, or is it unavoidable?  If it's
> unavoidable, then just out of curiosity what is causing the problem for the
> compiler?
>
> --
> Jason
>    
>



-- 
Jason

Reply via email to