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