In AS3 you can load an asset from a SWF using the Embed metatag like this:
var myMC:MovieClip = new mcClass();
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).