Args

I have two classes: one creates and loades a combobox and another class that creates and loads an UILoader .

They both work independently.

In these classes below I have the args in the UILoader class hard coded and they work.

The CBMajorComponent class should pass the fileName and the Key var’s as args.

If I try to pass the args from the CBMajorComponent class everything works under the hood but there are no images displayed in the mcContent.

Is there a reason for this?

Thanks

This is in the actions frame in the .fla


import flash.display.MovieClip;


import chromatic.load_files.UIImageComponent;
import chromatic.load_files.TLImageComponent;
import chromatic.load_files.CBMajorComponent;
import chromatic.load_files.CBMinorComponent;



var uiImageComponent:UIImageComponent=new UIImageComponent();
var tlImageComponent:TLImageComponent=new TLImageComponent();
var cbMajorComponent:CBMajorComponent=new CBMajorComponent();
var cbMinorComponent:CBMinorComponent=new CBMinorComponent();



cbMajorComponent=new CBMajorComponent();
addChild(cbMajorComponent.cbMajor);

cbMinorComponent=new CBMinorComponent();
addChild(cbMinorComponent.cbMinor);

uiImageComponent=new UIImageComponent();
mcContent.addChild(uiImageComponent.uiImage);

tlImageComponent=new TLImageComponent();
mcContent.addChild(tlImageComponent.tlImage);





package chromatic.load_files{
    import fl.controls.ComboBox;
    import flash.display.MovieClip;
    import flash.events.Event;
    import fl.data.DataProvider;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.URLRequest;
    import fl.containers.UILoader;
    

    public class CBMajorComponent extends MovieClip {

        public var cbMajor:ComboBox=new ComboBox();
        private var uiImageComponent:UIImageComponent;

        private var listURL:URLRequest=new URLRequest();
        private var dataLoader:URLLoader=new URLLoader();
        private var theXML:XML=new XML();

        private var arrayFile:Array=new Array("load_assets/keylist.xml");
        private var majorArray:Array=new Array("CMajor","GMajor","DMajor","AMajor","EMajor",
        "BMajor","FSharpMajor","CSharpMajor","FMajor",
        "BFlatMajor","EFlatMajor","AFlatMajor",
        "DFlatMajor","GFlatMajor","CFlatMajor");


        public var key:String;
        public var fileName:String;
        private var evtIndex:Number;
        private var evtItem:String;
        private var sel:Number=-1;
        
        public var testString:String;

        public function CBMajorComponent():void {
            
            init();
        }
        private function init():void {
            fileName=arrayFile[0];
            setFileName(fileName);
            

            setupComponent(fileName);
        }
        private function setupComponent(fileName):void {
            this.fileName=fileName;
            
            cbMajor=new ComboBox();
            cbMajor.setSize(200, 22);
            cbMajor.prompt = "Select a Major Key";
            cbMajor.editable=false;
            cbMajor.rowCount=15;
            cbMajor.width=110;
            cbMajor.move(0,0);
            cbMajor.x=-235;
            cbMajor.y=-150;
            addChild(cbMajor);

            
            listURL=new URLRequest(fileName);
            
            dataLoader.addEventListener(Event.COMPLETE,dataLoaded);
            dataLoader.load(listURL);
            
            theXML=new XML(listURL);
            theXML.ignoreWhitespace=true;        
            
            
            cbMajor.addEventListener(Event.CHANGE, selectedName);
            cbMajor.addEventListener(Event.CHANGE,changeEvent);
        }
        private function dataLoaded(evt:Event):void {        
            theXML=XML(dataLoader.data);
            
            for (var i:int=0; i<majorArray.length; i++) {
                key=majorArray*;                
                
                cbMajor.addItem({label:(theXML.key[key].keyName)});
            }
        }
        private function selectedName(evt:Event):void {
            evtIndex=evt.target.selectedIndex;
            key=majorArray[evtIndex];
            setKey(key);
            testString="passed froim cbMajor to uiComponent";
            
            uiImageComponent=new UIImageComponent();
            
            uiImageComponent.init();
        }
        public function changeEvent(evt:Event):void {
            trace(" You selected a key");
        }
        public function setFileName(fileName):void {

            this.fileName=fileName;
        }
        public function getFileName():String {
            return fileName;
        }
        public function setKey(key):void {

            this.key=key;
        }
        public function getKey():String {
            return key;
        }
    }
}


package chromatic.load_files{
    import fl.containers.UILoader;
    import flash.display.MovieClip;
    import flash.events.Event;
    import fl.data.DataProvider;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.net.*;

    public class UIImageComponent extends MovieClip {

        public var uiImage:UILoader=new UILoader();
        public var dp:DataProvider=new DataProvider();
        private var dataLoader:URLLoader=new URLLoader();
        private var theXML:XML=new XML();
        private var listURL:URLRequest=new URLRequest();


        private var arrayImage:Array=new Array();

        private var singleImage:String;
        public var key:String;
        public var fileName:String;
        private var sourceValue:String=null;
        private var evtIndex:int;
        private var evtName:String;
        private var sel:Number=-1;
        private var xmlList:XMLList;
        
        public var testString:String;


        public function UIImageComponent():void {
            init()

        }
        public function init():void {
            
            
            fileName="load_assets/keylist.xml";
            key="CMajor";
            
            this.fileName=fileName;
            this.key=key;
            
            this.testString=testString;
            setfileName(fileName);
            setKey(key);
            
            trace("ui...filename "+fileName);
            setupComponent(fileName,key);        }
        public function setupComponent(fileName,key):void {
            this.fileName=fileName;
            this.key=key;
            this.testString=testString;
            
            //var mcContent=new MovieClip();

            trace(testString);
            uiImage.x=100;
            uiImage.y=-20;
            uiImage.width=190;
            uiImage.height=200;
            
            //addChild(mcContent);            
            //mcContent.addChild(uiImage);
            
            listURL=new URLRequest(fileName);

            dataLoader.addEventListener(Event.COMPLETE,dataLoaded);
            dataLoader.load(listURL);

            theXML=new XML(listURL);
            theXML.ignoreWhitespace=true;




            //dataLoader.addEventListener(Event.COMPLETE,dataLoaded);
            //uiImage.addEventListener(Event.CHANGE, selectedName);
            //uiImage.addEventListener(Event.CHANGE,changeEvent);
            //uiImage.addEventListener(Event.COMPLETE,doTrace);
            //uiImage.addEventListener(Event.RESIZE,doTrace);
        }
        function dataLoaded(evt:Event):void {
            theXML=XML(dataLoader.data);
            //key="CMajor";
            sourceValue=theXML.key[key].swfFile;
            var request:URLRequest=new URLRequest(sourceValue);
            //uiImage.addEventListener(Event.COMPLETE,loadComplete);
            uiImage.load(request);


            trace("///// ui  key "+sourceValue+" //////////////////");
            uiImage.source=sourceValue;
        }
        /*
        private function selectedName():void {
        /*Combobox evt.target.setupComponent  cannot have spaces (as we have).So until 
        * I learn how to rid a string of spaces thus the var key
        */


        /*this bloct to be replaced by an hotspot event
        uiImageComponent=new UIImageComponent
        
        key=concatArray[evtIndex];
        uiImageComponent.setfileName(this.fileName);
        uiImageComponent.setkey(this.key);
        uiImageComponent();
        
        }
        private function doTrace(evt:Event):void {
        trace(uiImage.width);
        uiImage.scaleContent=true;
        uiImage.maintainAspectRatio=false;
        }
        */
        private function changeEvent(evt:Event):void {
            trace(" You selected a key");
        }
        public function setfileName(fileName):void {

            this.fileName=fileName;

        }
        public function getfileName():String {
            return fileName;
        }
        public function setKey(key):void {

            this.key=key;

        }
        public function getKey():String {
            return key;
        }
    }
}





//dataLoader.addEventListener(Event.COMPLETE,dataLoaded);
//uiImage.addEventListener(Event.CHANGE, selectedName);
//uiImage.addEventListener(Event.CHANGE,changeEvent);
//uiImage.addEventListener(Event.COMPLETE,doTrace);
//uiImage.addEventListener(Event.RESIZE,doTrace);