Loading One Flex Application into Another Flex Application
Loading one Flex application into another Flex application is
actually remarkably simple. All you need to do is create an SWFLoader instance and set the source property, as shown here:
<mx:SWFLoader source="application.swf" />
However, it gets slightly more challenging when you want to interact with the content you are loading. For example, if you want to call a public method defined in the loaded application, you must know two important things:
What is the path to the loaded application relative to the
SWFLoaderused to load the application?When has the loaded application actually initialized?
The answers to these questions are as follows. When an SWFLoader loads a Flex application, the SWFLoader object’s content property provides a reference to the
root of the loaded Flex application. As we’ve already discussed, that root
is a SystemManager object. The SystemManager class defines an application
property that references the Application object. However, it’s important to
understand that the application
property of a SystemManager object for
a Flex application that has just loaded will be null because the loaded content will still be on
its first frame, and the Application
instance isn’t constructed until the second frame. This might seem to pose
a problem, but there is a relatively elegant solution.
When an SWFLoader loads and
initializes the content, it dispatches an init event. You should first handle the init event. This tells ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access