In AS3 you can load an asset from a SWF using the Embed metatag like this:

[as][Embed(source=”Assets.swf”, symbol=”MySymbol”)]

var mcClass:Class;

var myMC:MovieClip = new mcClass();

addChild(myMC);[/as]

Where ‘Assets.swf’ is a swf that contains a symbol with linkage class name ‘MySymbol’. Sometimes when you do this you will get the following error:

TypeError: Error #1034: Type Coercion failed: cannot convert MyClass_mcClass@12510d1 to flash.display.MovieClip.

I finally figured out why: Flash will type the symbol based on the number of frames in it’s timeline. If the symbol has only 1 frame it will be typed as a Sprite, 2 or more frames it will be typed as a MovieClip.

So to fix the above error, just add another frame in your symbol’s timeline. Of course you could type your object as a sprite instead of a movieclip, but there are reasons why you may not want to (for example accessing sub-movieclips, adding dynamic properties etc).