Thanks for reporting back with the solution!

Om
On Dec 2, 2014 8:19 AM, "Jerry Hamby" <[email protected]> wrote:

> Thanks everyone, I ended up using this code successfully:
>
> private function laodMySWF():void {
>         // load the file with URLLoader into a bytearray
>         var loader:URLLoader=new URLLoader();
>
>         // binary format since it a SWF
>         loader.dataFormat=URLLoaderDataFormat.BINARY;
>         loader.addEventListener(Event.COMPLETE, onSWFLoaded);
>
>         //load the file
>         loader.load(new URLRequest("/swfs/welcome_16_9.swf"));
> }
> private function onSWFLoaded(e:Event):void {
>         // remove the event
>         var loader:URLLoader=URLLoader(e.target);
>         loader.removeEventListener(Event.COMPLETE, onSWFLoaded);
>
>         // add an Application context and allow bytecode execution
>         var context:LoaderContext=new LoaderContext();
>         context.allowLoadBytesCodeExecution=true;
>
>         // set the new context on SWFLoader
>         loader1.loaderContext = context;
>
>         loader1.addEventListener(Event.COMPLETE, loadComplete);
>
>         // load the data from the bytearray
>         loader1.load(loader.data);
> }
>
> // your load complete function
> private function loadComplete(completeEvent:Event):void {
>         trace("loadComplete: completeEvent.target.content " +
> completeEvent.target.content);
>         mySwfMc = loader1.content as MovieClip;
>         loader1.content.addEventListener("MessageFromFlash", doSomething);
> }
>
> On Dec 1, 2014, at 8:13 PM, Alex Harui wrote:
>
> > Sounds like AIR Security Model stuff.  See “Adobe Air sandbox” in this
> > article [1].  A commonly used workaround is to use byte array as
> described
> > in the first answer here [2].
> >
> > HTH,
> > -Alex
> >
> > [1]
> >
> http://www.adobe.com/devnet/flashplatform/whitepapers/runtime-security.html
> > [1] http://s.apache.org/AdobeAIRRuntimeSecurity
> > [2]
> >
> http://stackoverflow.com/questions/2713865/how-to-run-an-external-swf-insid
> > e-a-flex-application
> > [2] http://s.apache.org/ByteArraySWFLoader
> >
> > On 12/1/14, 3:43 PM, "Jerry Hamby" <[email protected]> wrote:
> >
> >> I have in my Flex app (Apache SDK  4.12.1):
> >> <mx:SWFLoader id="loader1" creationComplete="swfLoaded(event)"
> >> complete="contentLoaded(event)"/>
> >>
> >> I use the code below to find the SWF file: (this seems to work for both
> >> the desktop and on my Android device)
> >> var theFile_ApplicationStorageDirectory:File =
> >> File.applicationStorageDirectory.resolvePath("/swfs/welcome_16_9.swf");
> >> var thePath:* = theFile_ApplicationStorageDirectory.nativePath;
> >> loader1.load(thePath);
> >>
> >> this works fine now after hours of research but the problem is that I
> >> can't get access to "loader1.content", it is always null.
> >> I need it so I can do an addEventListener:
> >> loader1.content.addEventListener("MessageFromFlash", doSomething);
> >>
> >> I get the "swfLoaded" event but not the "contentLoaded" event.
> >>
> >> Any clues on why the loader1.content is NULL?
> >>
> >> Jerry
> >
>
>

Reply via email to