I'm not sure what moduleLoader is. You should be using IModuleInfo.load().
Then, a UIComponent makes a poor container. It doesn't know how to measure or layout the child so the child might have 0 size. Alex Harui Flex SDK Developer Adobe Systems Inc.<http://www.adobe.com/> Blog: http://blogs.adobe.com/aharui From: [email protected] [mailto:[email protected]] On Behalf Of handitan Sent: Thursday, October 08, 2009 8:03 PM To: [email protected] Subject: [flexcoders] ADOBE AIR Qs: How do you load modules from "app-storage" domain? Hi all, I am using AIR 1.5 SDK. I am trying to find a way to build patching mechanism for my AIR app, which consists modules, sqlite DBs, and other files, by updating ONLY files that need to be updated. I know that this is not possible using AIR Update Framework because the way I understand it works is that any update that you have both minor and major, you will have to reinstall everything. This is a pain if you have a huge size AIR app. I have sort of an idea to build my own update mechanism but in order for this to work, I will need to be able to do update operation on my AIR app files. Since "app" domain doesn't allow us to do that, I have to find a place where updates can take place and my app could still work. I read that "app-storage" allows you to do all of that. Okay... so I build a really simple AIR app that the sole purpose is to load swf module from "app-storage" to prove my theory. So here's my AIR app code the short version: <mx:WindowedApplication> <mx:Script> private function loadSwf():void { var dir:File = File.applicationStorageDirectory dir = dir.resolvePath("SimpleSwf.swf");//SimpleSwf is the module var myURLRequest:URLRequest = new URLRequest(dir.url); var myURLLoader:URLLoader = new URLLoader(); myURLLoader.dataFormat = URLLoaderDataFormat.BINARY; myURLLoader.load(myURLRequest); myURLLoader.addEventListener(Event.COMPLETE,loadModuleCompleteHandler); } private function loadModuleCompleteHandler(pEvent:Event):void { var context:LoaderContext = new LoaderContext(); context.allowLoadBytesCodeExecution = true; context.applicationDomain = ApplicationDomain.currentDomain; var moduleLoader:Loader = new Loader(); var loader:URLLoader = URLLoader(pEvent.target); moduleLoader.loadBytes(loader.data,context); container.addChild(moduleLoader); } </mx:Script> <mx:VBox width="100%" height="100%"> <mx:Button label="Load SWF" click="loadSwf()"/> <mx:UIComponent id="container"/> </mx:VBox> </mx:WindowedApplication> The result is: When I click the button "Load SWF", I could see that the loader loads the SWF correctly (it got the right size, etc) but I didn't see the module shows up on the screen at all. I didn't know what I do wrong. Please enlighten me.

