OK, I learnt this trick a few weeks ago from a co-worker. A user emailed me and asked if it was possible to embed an HTML/text file in a Flex application rather than having to load the files at runtime, similar to how you can embed images or whatnot.

Not being certain, I asked the team and got this response…

Full code after the jump.

foobar.as

package {
    import flash.utils.ByteArray;

    [Embed(source="test.mxml", mimeType="application/octet-stream")]
    public class foobar extends ByteArray
    {
    }
}

test.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="testMe()">

<mx:Script>
    <![CDATA[
       public var myText:foobar = new foobar();
        public function testMe():void {
            trace(myText.toString());
        }
    ]]>
</mx:Script>

</mx:Application>

PS: Thanks Brent!

 
Tagged with:
 
About The Author

Peter deHaan

Peter deHaan currently works for Adobe on the Flex SDK QA team. While not working on Flex, Flash, and ColdFusion applications, Peter enjoys making up bios and writing in 3rd person. Peter's rarely updated blog can be found at blogs.adobe.com/pdehaan/, actionscriptexamples.com, airexamples.com, and coldfusionexamples.com.

0 Responses to Embedding external files using [Embed]

  1. abhishek says:

    there is an error
    after run the file

    Error: Error #1023: Stack overflow occurred.
    at mx.core::ComponentDescriptor$iinit()
    at mx.core::UIComponentDescriptor$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()
    at package1$iinit()

  2. sword says:

    this method,I try it,but no effect:)

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Anti-Spam Protection by WP-SpamFree