Referencing component classes – fl.*
I'm not sure why Adobe chose to leave the entire fl.* package out of the standard set of actionscript 3 classes in CS3 - I'm sure they have their reasons. The problem however is that sometimes you either a:) have to reference an instance of something from a class associated with another loaded SWF, meaning that you dont have the component in the library of the SWF being published, or b:) would like to use a class from the fl.* package without an associated component. The FocusManager class is a good example. Frequently I see the solution to this problem listed as adding the component shim to your library, which contains all the classes. But that's problematic for two reasons. One, what if you're developing pure AS and dont HAVE a library to just drop that component into? Sure, you could embed it through your code, but again, wouldnt an import make more sense? And two, why should you need a library item to reference a class? It's an option, yes, but you shouldn't be forced into doing it.
Luckily, there's a simple solution to this. Turns out the entire fl.* package is located on your hard drive already with Flash CS3. You just need to map it. So, get your copy/paste fingers ready, and add this to your as3 classes list under actionscript preferences:
C:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\Component Source\ActionScript 3.0\User Interface
And for you mac people out there, something along the lines of this:
Macintosh HD:Applications:Adobe Flash CS3:Configuration:Component Source:ActionScript 3.0:User Interface
Your path may be different (I think vista's path structure is different for example), but from the 'Adobe Flash CS3' folder onward it should be identical.
I haven't jumped into CS4 yet, so perhaps they addressed this by default by now...anyone check yet?



