Embedding external files using [Embed]

by Peter deHaan on July 24, 2007

in Embed

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!

{ 2 comments… read them below or add one }

1 abhishek November 27, 2007 at 12:43 am

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()

Reply

2 sword April 8, 2008 at 4:32 am

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

Reply

Leave a Comment

Sorry, this blog is terrible at eating HTML comments.
If you're pasting any HTML/XML/MXML code, you need to convert your < characters to &lt; and your > characters to &gt; .

You can 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

Previous post:

Next post: