Archive for the tag 'DLL'

FlashDLL 1.0 released

March 9th, 2008

As many guys got trouble when first use flash DLL technic, same to me.
So i improved Flash DLL project to make a regular example FastLoad. For some simple use, you can use FlashLoad.swf directly, for complex requirement, you may need to create your own loaders based on FlashLoad concept.

Well, check for examples and documents.

There’s debug version FastLoad_debug.swf there too, some times you need to debug your applications.


How to build and use a Flash DLL

March 7th, 2008

As flash dll technic is widely used from AS2 time, now AS3 time, we use it widely too, we don’t like RSL since it can’t controlled by pure AS code.
Here a quick introduction for how to build and use a flash dll:

1. Build a Flash DLL
For a library project, such as AsWing, build it’s DLL is very simple: Create a ActionScript Project with only one simplest class:

class AsWingDLL extends Sprite{
//do nothing
And add a compiler argument for your flex compiler : -include-libraries path to the AsWing.swc, then build this project, the output swf is a regular flash DLL now.
Note: The AsWingDLL class is the entry class, it is just for make loader’s onComplete/onInit event will be fired, then compiler argument -include-libraries is to force all the classes in AsWing.swc will be compiled into the output swf.

For a ActionScript Project, the output swf is already a DLL, you just should take care to know what classes were compiled into the swf.


2. Use a Flash DLL
Well, then, how to use a Flash DLL, in essence, Flash DLL is just like a file that contains compiled classes, so generally, we load it first, the classes is available to use when it is load completed.

You can check this example:

Note:The convenience is that you can use the classes and with -external compiler argument to build your main project, above example shows that you can use AsWing in that application, but you don’t need to compile AsWing classes into the main swf, you can load AsWingDLL separately first, and then execute your code which used AsWing. It will runs well.

And, if you have more than one FLL, make sure your DLL’s load order, the most based DLL should load first.

For complex use, you can read the document of Loader and LoaderContext and especially the ApplicationDomain.