Swf loader and iframe

Hi all,
I have been using iframes in my application and they are working fine. Now, my application's swf file is loaded into another flex application using swfloader and now iframes are giving error? can any body let me know what went wrong?
thanks

Im sorry how do you mean in  a "compltete" event handler,
could you show me an example ?
THanks

Similar Messages

  • SWF Loader and Power Point Slide

    Hi Xcelsius Experts
    I am using a tab set container and in each container i am trying to open another Xcelsius Dashboard - as soon as i provide the complete path of .xlf file the swf loader instantly says 100% but it doesnt show the xcelsius file and it does the same after hitting preview button.
    so how can I show another Xcelsius file within Xcelsius and I would also like to see that working in powerpoint after export.
    Many thanks in advance for your help
    Kind Regards,
    Waqas

    Burn it to CD and re-import it.
    This is not for a public presentation, correct? It's for your own personal (not job related) use?

  • Swf Loader and changeing Frames

    Hello all, i am loading a SWF i created using the SwfLoader component in Flex 3.
    The code i am using is as follows - <mx:SWFLoader width="627" height="468" source="swf/walk.swf" id="loader"/>
    The swf file contained 5 key frames and when you click on the the swf file, it progresses to the next frame.
    I want to be able to achieve this by using buttons instead, that way i can add a forward and previous button.
    Could anyone help me on achieving this ?
    I have tried all sorts from
    <mx:Script>
        <![CDATA[
            var myMovieClip:MovieClip = MovieClip(loader.content);
        myMovieClip.gotoAndStop( 2 );
        ]]>
    </mx:Script>
    to everything i could think of.
    ANy help would be great

    Im sorry how do you mean in  a "compltete" event handler,
    could you show me an example ?
    THanks

  • Loading and Unloading of swf files in SWF Loader

    Hi all,
    I have a doubt reg. SWF Loader.
    I have created two mxml files A & B.
    A. local.mxml
    B. SwfSample.mxml
    i have two labels and a button in A file and i have set values to those labels and have a method to handle the click event of the button. In B file i have loaded this A file and accessed the labels and methods using SystemManager Component and changed the values of the A file's label and accessed data from A file to B file.
    Here comes the problem,
    I have two buttons named LoadAgain and Unload
    When i click the Unload button, the SWF Loader unloads its content by the method i handled for  the Unload button, after that i have clicked on the LoadAgain button to load the same content of A's mxml to the SWF Loader, it loads succesfully,but i was not able to access its Label or Method from the B mxml. Please help me to solve the issue.
    local.mxml
    <?xml version="1.0" encoding="utf-8"?><mx:Application 
    xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute">
    <mx:Script>
        <![CDATA[
    Bindable]
        public var varOne:String = "This is a public variable";
        public function setVarOne(newText:String):void
              varOne = newText;
        ]]>
    </mx:Script>
    <mx:Label id="lblOne" text="I am here" x="28" y="88"/>
    <mx:Label text="{varOne}" x="166" y="88"/>
    <mx:Button label="Nested Button" click="setVarOne('Nested Button Pressed');" x="28" y="114"/>
    SwfSample.mxml
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application 
    xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute">
        <mx:Script>
        <![CDATA[
              import mx.controls.Alert;  
              import mx.managers.SystemManager;  
              import mx.controls.Label; 
    Bindable]
              public var loadedSM:SystemManager;
              private function initNestedAppProps():void
                  loadedSM = SystemManager(myLoader.content);
              public function updateLabel():void
                  lbl.text = loadedSM.application[
    "lblOne"].text;
              public function updateNestedLabels():void
                  loadedSM.application[
    "lblOne"].text = "I was just updated" ;
                  loadedSM.application[
    "varOne"] = "I was just updated";
              public function updateNestedVarOne():void
                   local(loadedSM.application).setVarOne(
    "Updated varOne");
              public function unload():void
                   myLoader.content.loaderInfo.loader.unload();
              public function loadAgain():void
                   myLoader.load(
    "../bin-debug/local.swf");
            ]]>
         </mx:Script>
    <mx:Label id="lbl" x="72" y="47"/>
    <mx:SWFLoader id="myLoader" width="438" source="../bin-debug/local.swf" creationComplete="initNestedAppProps();" y="73" height="238" x="72" alpha="1.0"/>
    <mx:Button label="Update Label Control in Outer Application" click="updateLabel();" x="72" y="319"/>
    <mx:Button label="Update Nested Controls" click="updateNestedLabels();" x="72" y="349"/>
    <mx:Button label="Update Nested varOne" click="updateNestedVarOne();" x="72" y="379"/>
    <mx:Button label="Unload" click="unload();" x="72" y="409"/>
    <mx:Button label="Load Again" click="loadAgain();" x="72" y="439"/>
    </mx:Application>
    Thanks & regards,
    Sathish.K

    creationComplete only fires once when the SWFLoader is created.  Therefore you never reset your variables to point to the new sub-app.  On a slow network, creationComplete may fire before the sub-app loads.  It is best to use the COMPLETE event.
    Alex Harui
    Flex SDK Developer
    Adobe Systems Inc.
    Blog: http://blogs.adobe.com/aharui

  • How to load and unload more than one external swf files in different frames?

    I do not have much experience on Adobe Flash or Action Script 3, but I know the basics.
    I am Arabic language teacher, and I design an application to teach Arabic, I just would like to learn how to load and unload more than one external swf files in different frames.
    Thanks

    Look into using the Loader class to load the swf files.  If you want to have it happen in different frames then you can put the code into the different frames.

  • FAQ: SWF's and loading external files in Flash Catalyst

    How do I make the images in my Flash Catalyst project external to the published SWF?
    You can choose whether images are embedded in your Flash Catalyst SWF, or loaded dynamically; this can help to keep your SWF's small. Simply right-click an image and chose "Externalize Image".
    Answered by: Adam Cath.
    See entire discussion.
    How do I make the SWF I imported to Flash Catalyst load external files?
    When importing a SWF, Flash Catalyst only pulls the SWF asset into your project. Many SWF's, such as slideshows and media players, rely on external data files, such as configuration files or media assets. If you would like to use such a SWF in Catalyst, then you will have to place these external resources into your Catalyst project as well as importing the SWF.
    Let's assume you have a SWF source folder that contains your SWF file and all of the external files it needs. You can open the SWF file from this folder and it works fine. But, if you import the SWF into Catalyst, the Catalyst project doesn't display it correctly because it can't load the external files. Here's what you do:
    1. Open your swf source folder, and copy all of the files/folders there except the SWF you imported.
    2. In Catalyst, Run/Preview your project (Ctl/Cmd-Enter)
    2. Note the file path to Main.html in your browser
    3. In your OS, open the folder that contains /bin-debug/Main.html from above
    4. Open the "src" folder
    5. Paste all of the files from step 1 into the src folder.
    6. Catalyst won't pick up that your project changed, so tweak it a bit (add a Rectangle), and save it.
    7. Run your project. If it doesn't work, try closing and reopening your project and running again.
    For an example, check out: Using an XML-driven SWF in Catalyst to create a slideshow.
    See entire discussion.
    Answered by: Bear Travis

    You can make you swf a custom component with 2 states.
    The first state will be empty and rename it "OFF" the second state will have your swf file and name it ON.
    Then go back to your artboard/project, add your 2 buttons ON & OFF.
    For the ON button add interaction "play transition to custom component ON"
    For the OFF button add interaction "play transition to custom component OFF"
    Here is an example swf_control

  • Remove / unload external swf file(s) from the main flash file and load a new swf file and garbage collection from memory.

    I can't seem to remove / unload the external swf files e.g when the carousel.swf (portfolio) is displayed and I press the about button the about content is overlapping the carousel (portfolio) . How can I remove / unload an external swf file from the main flash file and load a new swf file, while at the same time removing garbage collection from memory?
    This is the error message(s) I am receiving: "TypeError: Error #2007: Parameter child must be non-null.
    at flash.display::DisplayObjectContainer/removeChild()
    at index_fla::MainTimeline/Down3()"
    import nl.demonsters.debugger.MonsterDebugger;
    var d:MonsterDebugger=new MonsterDebugger(this);
    stage.scaleMode=StageScaleMode.NO_SCALE;
    stage.align=StageAlign.TOP_LEFT;
    stage.addEventListener(Event.RESIZE, resizeHandler);
    // loader is the loader for portfolio page swf
    var loader:Loader;
    var loader2:Loader;
    var loader3:Loader;
    var loader1:Loader;
    //  resize content
    function resizeHandler(event:Event):void {
        // resizes portfolio page to center
    loader.x = (stage.stageWidth - loader.width) * .5;
    loader.y = (stage.stageHeight - loader.height) * .5;
    // resizes about page to center
    loader3.x = (stage.stageWidth - 482) * .5 - 260;
    loader3.y = (stage.stageHeight - 492) * .5 - 140;
    /*loader2.x = (stage.stageWidth - 658.65) * .5;
    loader2.y = (stage.stageHeight - 551.45) * .5;*/
    addEventListener(Event.ENTER_FRAME, onEnterFrame,false, 0, true);
    function onEnterFrame(ev:Event):void {
    var requesterb:URLRequest=new URLRequest("carouselLoader.swf");
    loader = null;
    loader = new Loader();
    loader.name ="carousel1"
    //adds gallery.swf to stage at begining of movie
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
    function ioError(event:IOErrorEvent):void {
    trace(event);
    try {
    loader.load(requesterb);
    } catch (error:SecurityError) {
    trace(error);
    addChild(loader);
    loader.x = (stage.stageWidth - 739) * .5;
    loader.y = (stage.stageHeight - 500) * .5;
    // stop gallery.swf from duplication over and over again on enter frame
    removeEventListener(Event.ENTER_FRAME, onEnterFrame);
    //PORTFOLIO BUTTON
    //adds eventlistner so that gallery.swf can be loaded
    MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
    function Down(event:MouseEvent):void {
    // re adds listener for contact.swf and about.swf
    MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
    MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
    //unloads gallery.swf from enter frame if users presses portfolio button in nav
    var requester:URLRequest=new URLRequest("carouselLoader.swf");
        loader = null;
    loader = new Loader();
    loader.name ="carousel"
    loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
    function ioError(event:IOErrorEvent):void {
    trace(event);
    try {
    loader.load(requester);
    } catch (error:SecurityError) {
    trace(error);
    addChild(loader);
    loader.x = (stage.stageWidth - 739) * .5;
    loader.y = (stage.stageHeight - 500) * .5;
    removeChild( getChildByName("about") );
    removeChild( getChildByName("carousel1") );
    // remove eventlistner and prevents duplication of gallery.swf
    MovieClip(root).nav.portfolio.removeEventListener(MouseEvent.MOUSE_DOWN, Down);
    //INFORMATION BUTTON
    //adds eventlistner so that info.swf can be loaded
    MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
    function Down1(event:MouseEvent):void {
    //this re-adds the EventListener for portfolio so that end user can view again if they wish.
    MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
    MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
    var requester:URLRequest=new URLRequest("contactLoader.swf");
    loader2 = null;
    loader2 = new Loader();
    loader2.name ="contact"
    loader2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
    function ioError(event:IOErrorEvent):void {
    trace(event);
    try {
    loader2.load(requester);
    } catch (error:SecurityError) {
    trace(error);
    addChild(loader2);
    loader2.x = (stage.stageWidth - 658.65) * .5;
    loader2.y = (stage.stageHeight - 551.45) * .5;
    // remove eventlistner and prevents duplication of info.swf
    MovieClip(root).nav.info.removeEventListener(MouseEvent.MOUSE_DOWN, Down1);
    //ABOUT BUTTON
    //adds eventlistner so that info.swf can be loaded
    MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
    function Down3(event:MouseEvent):void {
    //this re-adds the EventListener for portfolio so that end user can view again if they wish.
    MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
    MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
    var requester:URLRequest=new URLRequest("aboutLoader.swf");
    loader3 = null;
    loader3 = new Loader();
    loader3.name ="about"
    loader3.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
    function ioError(event:IOErrorEvent):void {
    trace(event);
    try {
    loader3.load(requester);
    } catch (error:SecurityError) {
    trace(error);
    addChild(loader3);
    loader3.x = (stage.stageWidth - 482) * .5 - 260;
    loader3.y = (stage.stageHeight - 492) * .5 - 140;
    removeChild( getChildByName("carousel") );
    removeChild( getChildByName("carousel1") );
    // remove eventlistner and prevents duplication of info.swf
    MovieClip(root).nav.about.removeEventListener(MouseEvent.MOUSE_DOWN, Down3);
    stop();

    Andrei1,
    Thank you for the helpful advice. I made the changes as you suggested but I am receiving a #1009 error message even though my site is working the way I wan it to work. I would still like to fix the errors so that my site runs and error free. This is the error I am receiving:
    "TypeError: Error #1009: Cannot access a property or method of a null object reference."
    I'm sure this is not the best method to unload loaders and I am guessing this is why I am receiving the following error message.
         loader.unload();
         loader2.unload();
         loader3.unload();
    I also tried creating a function to unload the loader but received the same error message and my portfolio swf was not showing at all.
         function killLoad():void{
         try { loader.close(); loader2.close; loader3.close;} catch (e:*) {}
         loader.unload(); loader2.unload(); loader3.unload();
    I have a question regarding suggestion you made to set Mouse Event to "null". What does this do setting the MouseEvent do exactly?  Also, since I've set the MouseEvent to null do I also have to set the loader to null? e.g.
    ---- Here is my updated code ----
    // variable for external loaders
    var loader:Loader;
    var loader1:Loader;
    var loader2:Loader;
    var loader3:Loader;
    // makes borders resize with browser size
    function resizeHandler(event:Event):void {
    // resizes portfolio page to center
         loader.x = (stage.stageWidth - loader.width) * .5;
         loader.y = (stage.stageHeight - loader.height) * .5;
    // resizes about page to center
         loader3.x = (stage.stageWidth - 482) * .5 - 260;
         loader3.y = (stage.stageHeight - 492) * .5 - 140;
    //adds gallery.swf to stage at begining of moviie
         Down();
    //PORTFOLIO BUTTON
    //adds eventlistner so that gallery.swf can be loaded
         MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
    function Down(event:MouseEvent = null):void {
    // re adds listener for contact.swf and about.swf
         MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
         MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
    //unloads gallery.swf from enter frame if users presses portfolio button in nav
         var requester:URLRequest=new URLRequest("carouselLoader.swf");
         loader = new Loader();
         loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
         function ioError(event:IOErrorEvent):void {
         trace(event);
         try {
         loader.load(requester);
         } catch (error:SecurityError) {
         trace(error);
         this.addChild(loader);
         loader.x = (stage.stageWidth - 739) * .5;
         loader.y = (stage.stageHeight - 500) * .5;
    // sure this is not the best way to do this - but it is unload external swfs
         loader.unload();
         loader2.unload();
         loader3.unload();
    // remove eventlistner and prevents duplication of gallery.swf
         MovieClip(root).nav.portfolio.removeEventListener(MouseEvent.MOUSE_DOWN, Down);
    //INFORMATION BUTTON
         //adds eventlistner so that info.swf can be loaded
         MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
         function Down1(event:MouseEvent = null):void {
         //this re-adds the EventListener for portfolio so that end user can view again if they wish.
         MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
         MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
         var requester:URLRequest=new URLRequest("contactLoader.swf");
         loader2 = null;
         loader2 = new Loader();
         loader2.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);    
         function ioError(event:IOErrorEvent):void {
         trace(event);
         try {
         loader2.load(requester);
    }      catch (error:SecurityError) {
         trace(error);
         addChild(loader2);
         loader2.x = (stage.stageWidth - 658.65) * .5;
         loader2.y = (stage.stageHeight - 551.45) * .5;
    loader.unload();
    loader2.unload();
    loader3.unload();
         // remove eventlistner and prevents duplication of info.swf
         MovieClip(root).nav.info.removeEventListener(MouseEvent.MOUSE_DOWN, Down1);
    //ABOUT BUTTON
         //adds eventlistner so that info.swf can be loaded
         MovieClip(root).nav.about.addEventListener(MouseEvent.MOUSE_DOWN, Down3, false, 0, true);
         function Down3(event:MouseEvent = null):void {
         //this re-adds the EventListener for portfolio so that end user can view again if they wish.
         MovieClip(root).nav.portfolio.addEventListener(MouseEvent.MOUSE_DOWN, Down, false, 0, true);
         MovieClip(root).nav.info.addEventListener(MouseEvent.MOUSE_DOWN, Down1, false, 0, true);
         var requester:URLRequest=new URLRequest("aboutLoader.swf");
         loader3 = null;
         loader3 = new Loader();
         loader3.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
         function ioError(event:IOErrorEvent):void {
         trace(event);
         try {
         loader3.load(requester);
    }      catch (error:SecurityError) {
         trace(error);
         addChild(loader3);
         loader3.x = (stage.stageWidth - 482) * .5 - 260;
         loader3.y = (stage.stageHeight - 492) * .5 - 140;
         loader.unload();
         loader2.unload();
         loader3.unload();
         // remove eventlistner and prevents duplication of info.swf
         MovieClip(root).nav.about.removeEventListener(MouseEvent.MOUSE_DOWN, Down3);
         stop();

  • Need help loading and positioning a swf into a swf

    This is the swf  I'm trying to load.
    These actions load and position a small simple swf just fine and the trace in the onLoadProgress function indicates that it loads completely
    but I can't see it.  What am I doing wrong?
    this.createEmptyMovieClip("container_mc", this.getNextHighestDepth());
    var my_listener:Object = new Object();
    my_listener.onLoadComplete = function(target_mc:MovieClip) {
    target_mc._x = 150;
    target_mc._y = 100;
    my_listener.onLoadProgress = function(target_mc:MovieClip) {
    trace(target_mc.getBytesLoaded() + " out of " + target_mc.getBytesTotal());
    var my_loader:MovieClipLoader = new MovieClipLoader();
    my_loader.addListener(my_listener);
    //my_loader.loadClip("little.swf", container_mc);
    my_loader.loadClip("cam01.swf", container_mc);

    do you see a rotated swf if you use:
    this.createEmptyMovieClip("container_mc", 1);
    var my_listener:Object = new Object();
    my_listener.onLoadInit = function(target_mc:MovieClip) {
    target_mc._x = 150;
    target_mc._y = 100;
    target_mc._rotation = 22;
    var my_loader:MovieClipLoader = new MovieClipLoader();
    my_loader.addListener(my_listener);
    my_loader.loadClip("cam01.swf", container_mc);
    if yes, either:
    1.  you are repositioning your swf and for some reason don't recognize that or
    2.  you're changing container_mc or one of its parents _x,_y properties elsewhere.

  • Loading an external SWF in and displaying it behind overlay/watermark

    I am building a SWF and the goal is to load in an external SWF file and then display that within my container. They are totally unrelated items and I do not want to modify the functionality of the item I am loading in. My SWF will briefly display a watermark overlay, but then disappear. Can anyone guide me into this best way of doing this?
    Also, is there anyway to get the properties from the SWF I loaded in (namely height and width) so I might be able to easily adjust the size of my SWF to match?
    Thanks!

    just load your external swf using the loader class.  what you described doing is standard stuff and nothing special needs to be done.
    however, you must wait until loading is complete before you can access the loaded object's width and height.

  • Using a container to load several swf files and play them

    I need some help. I want to use several swf files and have them be called upon in a container file and play them in sequence. It's a presentation that needs to play thru but still have the ability to stop, click on items, open a popup and then continue on in the presentation. I am building all the individual "chapters" and their "sub-chapters" as swf files, with the hope that I can load them in order. I am relatively new to AS3. Help?

    If you will be loading swf files into a container then you will use the Loader class to accomplish that, so give that a looking over in the help documents and see what you can do.  If you have a problem getting it to work, post your code and describe what you have done.

  • SWF loader need to load 100% width and height

    Hi,
        I have using dashboard in my application.In which the flex pages are loaded using SWF loader. the swf is not loading 100% when i minimize the browser. actually its loading 100% when the browser is full screen mode. suppose the browser is opened in 75% the swf also gets loaded based on the browser size. but after maxmizing the browser the SWF its not expaned to the actuall size of the browser. could you anybody help me plz..?
    Thanks & Regards
    Muthu

    Hi,
         I have used this code to load the swf in the main application:
    <mx:Canvas id="dashCanvas"  creationPolicy="all" cachePolicy="on" width="100%"  backgroundColor="#FFFFFF" horizontalScrollPolicy="off" verticalScrollPolicy="off" >
                   <mx:SWFLoader id="dashBoard" trustContent="true"  width="100%" height="100%" scaleContent="true" autoLoad="true"
    source="@Embed(source='../../../../assets/appl/dashboard/dashboard.swf')"  /> 
    </mx:Canvas>
    And i have set width and height as 100% in <mx:Appilcation> .
    Thanks and egards
    Muthu

  • [svn:osmf:] 11205: Fix bug FM-169: Trait support for data transfer sample doesn' t display bytes loaded and bytes total for SWF element

    Revision: 11205
    Author:   [email protected]
    Date:     2009-10-27 15:04:26 -0700 (Tue, 27 Oct 2009)
    Log Message:
    Fix bug FM-169: Trait support for data transfer sample doesn't display bytes loaded and bytes total for SWF element
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-169
    Modified Paths:
        osmf/trunk/apps/samples/framework/PluginSample/src/PluginSample.mxml
        osmf/trunk/apps/samples/framework/PluginSample/src/org/osmf/model/Model.as

    The bug is known, and a patch has been submitted: https://bugs.freedesktop.org/show_bug.cgi?id=80151. There's been no update since friday, so I wonder what the current status is, or if it's up for review at all.
    Does anyone know how we can be notified when this patch hits the kernel?

  • Loading .swf, addChild, and removeChild

    Hello all,
    I'm trying load an swf when you click a button, and load another in it's place when you click a different button.   I'm using addChild to insert the swf onto the stage.  Problem is that every time I click a new button, the new swf is loaded on top of the previous one, and I need the previous one to disappear.  I tried using the removeChild method before the new swf is loaded to no effect.
    Here's the function I'm using for the loader with my removeChild attempt in bold:
    function newPage():void {
        trace("load activated");
        trace(""+target+".swf");
        var req:URLRequest=new URLRequest(""+target+""+".swf");
        var loader:Loader = new Loader();
       if (loaderState==true){
            top_mc.removeChild(loader);
        loader.load(req);
        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preLoad);
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded);
        function preLoad(event:ProgressEvent):void {
            var percent:Number=Math.round(event.bytesLoaded/event.bytesTotal*100);
            top_mc.preload_txt.text=String(""+percent+"");
        function fileLoaded(event:Event):void {
            trace("file loaded");
            top_mc.addChild(loader);
            loaderState=true;
    The error I get is as follows:
    ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
        at flash.display::DisplayObjectContainer/removeChild()
        at main_fla::MainTimeline/newPage()
        at main_fla::MainTimeline/workLoaderEnter()
        at main_fla::MainTimeline/clickF()
    Perhaps there is a way to give the addChild an instance name so that I can remove it later?
    Any ideas?
    Thanks!

    Part of the problem is your trying to remove the loader just after you define it...  it is not a child of anything at that point.  Try the following instead of what you have.   Another problem you can avoid is to not nest functions...
    var loader:Loader
    var loaderState:Boolean = false;
    function newPage():void {
    if (loaderState){
            top_mc.removeChild(loader);
        var req:URLRequest=new URLRequest(""+target+""+".swf");
        loader = new Loader();
        loader.load(req);
        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, preLoad);
        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded);
    function preLoad(event:ProgressEvent):void {
        var percent:Number=Math.round(event.bytesLoaded/event.bytesTotal*100);
        top_mc.preload_txt.text=String(""+percent+"");
    function fileLoaded(event:Event):void {
        top_mc.addChild(loader);
        loaderState=true;

  • When I publish projects with AICC reporting enabled the SWF "breaks" and does not load.

    When I publish projects with AICC reporting enabled the SWF "breaks" and does not load. If I change the publish method to SCORM the SWF works, and if I turn off reporting the SWF also works.

    OK.  That makes sense now.  Captivate 6 changed over to Rustici's LMS drivers.  Cp7 must have made even further changes that mean you must have an LMS present if you turn on reporting.
    I would suggest you just turn off reporting while you are testing other aspects of the course functionality during development, and only turn on reporting when you are ready to upload to your LMS.

  • Loading library.swf (unpacked from swc) using loader() and using it's assets

    I try to load libary.swf from an swc file in order to use it's library items.
    i load the library.swf using urlrequest and loader() and then use getDefinition() to fetch the class definition
    of the UIMovieclip element.
    i simply created the swc file by adding library assets to an swf file, converting them to a flex component and extending each compoent with the UIMovieClip class.
    when i load the swf file from a url (http) i get the following error:
    VerifyError: Error #1053: Illegal override of UIMovieClip in mx.flash.UIMovieClip.
    when i load the file locally, i get no error. any ideas why?
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                   xmlns:s="library://ns.adobe.com/flex/spark"
                   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
        <fx:Script>
            <![CDATA[
                import mx.core.UIComponent;
                import mx.flash.UIMovieClip;
                private var _context: LoaderContext;
                private var _request: URLRequest;
                private var _loader:Loader;
                private var _library:Object;
                private var _executeFunction:Function = null;
                public function _setExecuteFunction(f:Function):void {
                    this._executeFunction=f;
                public function handleLibInitialized(e:Event):void {
                    this._library=e.target.applicationDomain;
                    var a:Class = this._library.getDefinition("lobby_page_component");
                    var b:MovieClip = new a() as MovieClip;
                    var c:UIComponent = new UIComponent();
                    c.addChild(b);
                    this.addElement(c);
                public function init():void {
                    Security.allowDomain("*");
                    var url2:String="http://url/for/library.swf"; <- http provides an error
                     var url2:String="/path/to/library.swf"; <- local path works
                                 this._context = new LoaderContext(false,ApplicationDomain.currentDomain);
                    this._request = new URLRequest(url2);
                    this._loader = new Loader();
                    this._loader.contentLoaderInfo.addEventListener(Event.INIT,this.handleLibInitialized);
                    this._loader.load(this._request,this._context);
            ]]>
        </fx:Script>
    </s:Application>

    hello,
    thanks for trying to help.
    if this is the case, why it happens only when i load the library.swf file from an http location instead of a local location ?
    how can i make sure that my adobe flash has the same UIMovieClip version?
    kfir

Maybe you are looking for

  • Can i merge two apple ids into one

    i have two apple IDs that i need to merge.  money is both accouts, paid apps on both accounts. What are my options? thanks

  • Final Cut Pro X won't record voiceover

    I was using FCPX 10.1.3 when this problem appeared, now I'm on 10.1.4 and it wasn't fixed. Here's the summary: when I open a "Record Voiceover" window everything works fine, I can select different input devices, set up event, I can even hear myself w

  • Cash Flow Statement Direct Method

    Hi: I was asked about how to prepare Cash Flow Statement via direct method. I noticed that in SAP GL, we do have a cash flow - direct method available, but the layout seems not perfectly matching to financial requirements. So if I want to create a Ca

  • Converting a standard BSP field into an internal number range

    Hi Friends, I'm new to CRM BSP and have a requirement wherein i have to edit standard BSP field and convert it to an internal number range field.Can anyone plz help me out on this. Thanks in advance. Regards, Parvathy.

  • I bought a new camera - Its very nice, but you can not take any pictures

    Thats how I feel about Apple TV. I have talked to Apple support a couple of times about slideshows no longer work with settings from iPhoto. (Q-movie is NOT an option). The apple people tells me they never heard about the problem. I bought my ATV jus