Hi Roger, first of all, thanks for that extensive reply. Great.
Unfortunately i would like to make a pure actionscript project without the mxml, because i wanna basically understand, how tings are working on the basis, before i start developing with mxml as black- box. So could you perhaps also describe this "bootstrap" process or show me a place, where i can find it myself? That'd be great. thanx in advance. Sven --- In flexcoders@yahoogroups.com, "Roger Gonzalez" <[EMAIL PROTECTED]> wrote: > > I apologize for not being able to give the walkthrough in terms of Flex > Builder; I work on the lower level, so I'm going to talk in terms of the > command line. Hopefully you'll be able to translate. You might want to > walk through it using the low level tools anyway, because its hard to > tweak project settings for experimentation like this. I'm a big fan of > using ant to automate a build when you get to the point where you're > using RSLs. > > Anyway. > > The key insight in this is that a SWC is a library, and contains a SWF > (runtime definitions) and some additional metadata (used by the compiler > for dependency tracking, among other things). SWCs are just zipfiles. > You can look inside them. > > Your first step should be to figure out how to use SWCs for static > linking, never mind RSLs. Get a project set up to build a SWC, then get > your app set up to use that SWC. > > Lets say you have an app with "app.mxml", "xyzzy.as", and "plugh.as". > > project/src/app.mxml > project/libsrc/xyzzy.as > project/libsrc/plugh.as > project/lib/ > project/bin/ > > Normally, you might compile: > > % cd project/src > % mxmlc -o=../bin/app.swf -actionscript-classpath+=../libsrc app.mxml > > which would pull in xyzzy and plugh via dependencies. To convert this > to use libraries, you might do: > > % cd project > % compc -actionscript-classpath+=libsrc -o=lib/mylib.swc xyzzy plugh > > resulting in project/lib/mylib.swc > > To rebuild your app, you'd use: > > % cd project/src > % mxmlc -o=../bin/app.swf -library-path+=../lib/mylib.swc app.mxml > > We're ready to recompile our application to use the RSL. This is a bit > complex at first glance, but that is because there are three dimensions. > > 1) Tell the compiler to not link certain classes into your application. > 2) Get the RSL deployed so that it can be found and used at runtime. > 3) Tell the compiler to generate some extra stuff that loads your RSL. > > Lets just tackle #1 for the moment, and see where it leads us. > > % cd project/src > % mxmlc -o=../bin/app.swf -external-library-path+=../lib/mylib.swc > app.mxml > > If you run app.swf now, you'll get a RTE, because "xyzzy" and "plugh" > aren't defined. The external-library-path configuration option says > "compile against these libraries, but leave out every definition that > they define". There's a corresponding "-externs" option, if you wanted > to do it class-by-class, but its generally a lot more convenient to do > it this way. > > So, on to #2. Lets get the RSL ready for use. > > Converting our SWC to a RSL is easy. Its already halfway there, you > just need to extract out the SWF inside, since the player doesn't > understand SWCs. > > % cd project/lib > % unzip mylib.swc library.swf > % mv library.swf ../bin/myrsl.swf > > For convenience, I just renamed and moved the library SWF file down so > that its in the same directory as the application SWF. Honestly, half > the battle for RSLs is just figuring out where to deploy things. > > Finally, lets recompile the application to use that RSL: > > % cd project/src > % mxmlc -o=../bin/app.swf -external-library-path+=../lib/mylib.swc > -runtime-shared-libraries=myrsl.swf app.mxml > > What this does is generate a SWF that will dynamically load the RSL > before letting the application run. > > Make sense? > > (Note: there are a couple more steps involved if your main application > is built in pure AS instead of MXML, because the code that does the RSL > loading is actually inside your application's "bootstrap class" > (normally a class derived from SystemManager for MXML apps). In a pure > AS app, you might not have a bootstrap class unless you go out of your > way to use one.) > > -rg > > > -----Original Message----- > > From: flexcoders@yahoogroups.com > > [mailto:[EMAIL PROTECTED] On Behalf Of bussesven > > Sent: Tuesday, March 21, 2006 6:05 AM > > To: flexcoders@yahoogroups.com > > Subject: [flexcoders] Runtime Shared Libraries (flex 2) > > > > Hi, > > > > i have a question concerning runtime shared libraries in Flex > > 2. I have > > read through the documentation but i don't get it. Can > > someone give me > > an example on how rsl are created and used? I want to have a rsl that > > holds some classes that i want to use in several other applications. > > > > How do i reference a class, that lies in a rsl? With the Embed tag? > > > > thank you > > > > > > > > > > > > -- > > Flexcoders Mailing List > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > Search Archives: > > http://www.mail-archive.com/flexcoders%40yahoogroups.com > > Yahoo! Groups Links > > > > > > > > > > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/