title: how to share a component in as3
body: <p>I have a custom component(eg. MyButton) used in several swfs. I'd like to share the component in runtime, thus once our designer change the button's visual effect, we need not publish all flas that uses this button.</p>
  
  <p>In as2, I can put this button in an asset fla(eg. lib.swf) and check the "export for runtime share" in symbol property. Then copy the button to a fla(eg. main.swf) and check the "import for runtime share", this works fine. However in as3, after doing above, if I put a button instance on stage and modify its inspectable property, i'll get a compile error "1046:Type was not found or was not a compile-time constant".</p>
  
  <p>I searched the web and found this <a href="http://www.kirupa.com/forum/showthread.php?317257-Runtime-Shared-Library-woes" rel="nofollow">http://www.kirupa.com/forum/showthread.php?317257-Runtime-Shared-Library-woes</a>. Then I tried the swc approach, but it seems swc will be compiled into swf, it doesn't share at all.</p>
  
  <ol>
  <li>the shared component <strong>must be put on the stage</strong>, because all fla will be modified by our designer while he knows nothing about programing.</li>
  <li>we <strong>can not use flex</strong>, all operation must be done in Flash CS5.</li>
  </ol>