Heres my three mxml files two of which are under the com/ folder and get imported...hope that helps
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()" styleName="plain" xmlns:nutrition="com.nutrition.*" paddingLeft="10" paddingTop="10" paddingRight="10" paddingBottom="10"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.collections.ICollectionView; import mx.collections.XMLListCollection; import com.nutrition.MealItem; import mx.controls.Alert; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; // initialize private function init():void { //load calories httpservice_load("/main.php/flexnutrition/loadcalories", this["loadcaloriesResultHandler"]); hsNutrition.send(); addEventListener('addToMeal', addToMealHandler); addEventListener('removeMeal', removeMealHandler); addEventListener('learnAboutThis', learnaboutthisswf); } private function httpservice_load(url_src:String, resulthandler:Function):void{ httpService.url = url_src; //var tmp:String = resulthandler.toString(); //if(tmp != "none") httpService.addEventListener(ResultEvent.RESULT, resulthandler); httpService.send(); } private function learnaboutthisswf(event:Event):void{ vfc_guy.load("/uploads/swf/" + loadswf_var); } [Bindable] private var nutritionData:XML; [Bindable] private var maindata:XML; [Bindable] public var loadswf_var:String; [Bindable] public var createmeals_loadswf_var:String; //load all calories for main meals private function loadcaloriesResultHandler(event:ResultEvent):void { maindata = event.result as XML; vfc_guy.load("/uploads/swf/" + maindata.swf); } // nutrition result handler private function nutritionResultHandler(event:ResultEvent):void { nutritionData = event.result as XML; } // nutrition fault handler private function nutritionFaultHandler(event:FaultEvent):void { Alert.show(event.toString()); } // create breakfast private function createBreakfast():void { vsMain.selectedIndex = 1; plantype = 'Breakfast'; } // create lunch private function createLunch():void { vsMain.selectedIndex = 1; plantype = 'Lunch'; } // create dinner private function createDinner():void { vsMain.selectedIndex = 1; plantype = 'Dinner'; } [Bindable] private var plantype:String; [Bindable] private var customMeals:ArrayCollection = new ArrayCollection; // addToMeal event Handler private function addToMealHandler(event:Event):void { trace(event.target); //customMeals.addItem((event.target as mealitem).mealDetails); Alert.show(event.toString()); } // removeMeal event Handler private function removeMealHandler(event:Event):void { customMeals.removeItemAt(ls.selectedIndex); } ]]> </mx:Script> <mx:HTTPService id="hsNutrition" url="/main.php/flexnutrition/nutritioncal" result="nutritionResultHandler(event)" fault="nutritionFaultHandler(event)" resultFormat="e4x"/> <mx:HTTPService id="httpService" url="" resultFormat="e4x"/> <mx:Label id="totalcalories" text="{'Today\'s Meal Plan is based on a ' + maindata.totalcalories + ' Calorie Diet'}" fontWeight="bold" fontSize="18"/> <!--mx:Button label="Print Meal Menu" /--> <mx:ViewStack id="vsMain" width="100%" height="100%"> <mx:Canvas id="nutrition_canvas" width="100%" height="100%"> <mx:SWFLoader id="vfc_guy" source="" height="400" width="400" autoLoad="true" x="700" y="100" /> <mx:HBox width="100%" height="100%"> <mx:VBox width="40%" height="100%"> <nutrition:MealPanel id="pnlBreakfast" meal="{nutritionData.breakfast}" title="Breakfast : Please select one meal from below({maindata.breakfast} Cal Goal)"/> <mx:HBox horizontalCenter="right"> <mx:Button label="Create your own Breakfast" click="createBreakfast()"/> </mx:HBox> <nutrition:MealPanel id="pnlSnack1" meal="{nutritionData.snack1}" title="Snack : Please select one snack from below({maindata.snack1} Cal Goal)"/> <!--mx:Button label="Create your own Lunch" click="createLunch()"/--> <nutrition:MealPanel id="pnlLunch" meal="{nutritionData.lunch}" title="Lunch : Please select one meal from below({maindata.lunch} Cal Goal)"/> <nutrition:MealPanel id="pnlSnack2" meal="{nutritionData.snack2}" title="Snack : Please select one snack from below({maindata.snack2} Cal Goal)"/> <!--mx:Button label="Create your own Dinner" click="createDinner()"/--> <nutrition:MealPanel id="pnlDinner" meal="{nutritionData.dinner}" title="Dinner : Please select one meal from below({maindata.dinner} Cal Goal)"/> <nutrition:MealPanel id="pnlSnack3" meal="{nutritionData.snack3}" title="Snack : Please select one snack from below({maindata.snack3} Cal Goal)"/> </mx:VBox> </mx:HBox> </mx:Canvas> <mx:HBox width="100%" height="100%"> <mx:VBox width="30%" height="100%"> <mx:HBox> <mx:Label text="{'My Custom ' + plantype}"/> </mx:HBox> <mx:List id="ls" dataProvider="{customMeals}" width="100%"> <mx:itemRenderer> <mx:Component> <mx:VBox> <mx:Image width="100" height="100"/> <mx:Button label="Remove" click="dispatchEvent(new Event('removeMeal', true))"/> <mx:Label text="{data.serving}"/> </mx:VBox> </mx:Component> </mx:itemRenderer> </mx:List> </mx:VBox> <mx:VBox width="100%" height="100%"> <!--mx:Label text="Please select ONE ITEM from list below"/--> <mx:ViewStack width="40%" height="410" borderStyle="inset" borderThickness="2" id="vsCreateMeals"> <mx:VBox > <nutrition:Panelcreatemeal id="pnlCreateBreakfast" meal="{nutritionData.breakfast}"/> </mx:VBox> <mx:VBox > <nutrition:Panelcreatemeal id="pnlCreateLunch" meal="{nutritionData.lunch}"/> </mx:VBox> <mx:VBox > <nutrition:Panelcreatemeal id="pnlCreateDinner" meal="{nutritionData.dinner}"/> </mx:VBox> </mx:ViewStack> <mx:HBox> <mx:Button label="Save" click="vsMain.selectedIndex = 0;"/> <mx:Button label="Cancel" click="vsMain.selectedIndex = 0;"/> </mx:HBox> </mx:VBox> </mx:HBox> </mx:ViewStack> </mx:Application> <?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="390" borderThicknessLeft="0" borderThicknessRight="0" borderThicknessBottom="0" dropShadowEnabled="false" horizontalAlign="center" xmlns:containers="com.dougmccune.containers.*" title="Select An Item from below"> <mx:Script> <![CDATA[ //import com.createmealPanel; [Bindable] private var _meal:XMLList; public function set meal(value:XMLList):void { if(value) { _meal = value; createContainers(); } } private function createContainers():void { for each(var item:Object in _meal.itemdata) { if(item.available == "yes") { var mealitem:Panelcreatemealitem = new Panelcreatemealitem; coverflow.addChild(mealitem); mealitem.mealDetails = item; } } } ]]> </mx:Script> <containers:CoverFlowContainer id="coverflow" width="100%" height="100%" horizontalGap="1" borderStyle="inset" backgroundColor="0xFFFFFF" segments="9" reflectionEnabled="true"/> <mx:HBox> <mx:Button label="item 1" click="parentApplication.vsCreateMeals.selectedIndex=0;"/> <mx:Button label="side item 1" click="parentApplication.vsCreateMeals.selectedIndex=1;"/> <mx:Button label="side item 2" click="parentApplication.vsCreateMeals.selectedIndex=2;"/> </mx:HBox> </mx:Panel> <?xml version="1.0" encoding="utf-8"?> <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="310" height="320" title="{mealDetails.title}" horizontalAlign="center"> <mx:Metadata> [Event(name="addToMeal")] [Event(name="learnAboutThis")] </mx:Metadata> <mx:Script> <![CDATA[ import mx.controls.Alert; [Bindable] public var mealDetails:Object; private function calldispatch():void { parentApplication.createmeals_loadswf_var = mealDetails.swf; dispatchEvent(new Event('learnAboutThis', true)); } ]]> </mx:Script> <mx:Image source="{'/uploads/nutrition/' + mealDetails.imgsource }" width="285" height="159"/> <mx:Label text="{mealDetails.serving}"/> <mx:Button label="Add to Meal" click="dispatchEvent(new Event('addToMeal', true))"/> <mx:Button label="Learn About This" click="calldispatch()"/> </mx:Panel> --- In flexcoders@yahoogroups.com, Sam Lai <samuel....@...> wrote: > > It seems like wherever this code is - > > [Bindable] > private var customMeals:ArrayCollection = new ArrayCollection; > > //throws error on this line > customMeals.addItem((event.target as mealitem).mealDetails); > > event.target is actually the panel containing the 'create meal item' > button, as opposed to the mealitem itself. Can you post some more of > the script and MXML for that part? > > The src folder is empty for me too in the ZIP file. > > 2009/7/2 Jason B <nos...@...>: > > yes heres the results > > "Main0.vsMain.HBox8.VBox968.vsCreateMeals.VBox971.pnlCreateBreakfast.coverflow.Panelcreatemealitem1006" > > > > How can I access the object data, it's in a file thats under the folder > > /com/nutrition/file.mxml > > > > > > > > --- In flexcoders@yahoogroups.com, Sam Lai <samuel.lai@> wrote: > >> > >> I'd add a trace statement just before it to see what type of object > >> event.target is - it could be that the target is the UI component, and > >> not the data object. > >> > >> //throws error on this line > >> trace(event.target); > >> customMeals.addItem((event.target as mealitem).mealDetails); > >> > >> 2009/7/2 Jason B <nospam@>: > >> > I've got an problem when the user clicks on button "Add to Meal" it > >> > throws an error because it can't seem to reference the data in > >> > mealDetails object inside the com/ directory? > >> > > >> > I'm trying to add the item to the list control. > >> > > >> > I have the code located here in case you want more details > >> > http://files.getdropbox.com/u/228472/mealsflex.zip > >> > > >> > > >> > [Bindable] > >> > private var customMeals:ArrayCollection = new ArrayCollection; > >> > > >> > //throws error on this line > >> > customMeals.addItem((event.target as mealitem).mealDetails); > >> > > >> > > >> > > >> > > >> > <?xml version="1.0" encoding="utf-8"?> > >> > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="310" > >> > height="320" > >> > title="{mealDetails.title}" horizontalAlign="center"> > >> > > >> > > >> > <mx:Metadata> > >> > [Event(name="addToMeal")] > >> > [Event(name="learnAboutThis")] > >> > </mx:Metadata> > >> > > >> > <mx:Script> > >> > <![CDATA[ > >> > import mx.controls.Alert; > >> > > >> > [Bindable] > >> > public var mealDetails:Object; > >> > > >> > > >> > private function calldispatch():void { > >> > parentApplication.createmeals_loadswf_var > >> > = mealDetails.swf; > >> > dispatchEvent(new Event('learnAboutThis', > >> > true)); > >> > > >> > } > >> > > >> > ]]> > >> > </mx:Script> > >> > > >> > <mx:Image source="{'/uploads/nutrition/' + mealDetails.imgsource > >> > }" width="285" height="159"/> > >> > > >> > <mx:Label text="{mealDetails.serving}"/> > >> > > >> > <mx:Button label="Add to Meal" click="dispatchEvent(new > >> > Event('addToMeal', true))"/> > >> > > >> > <mx:Button label="Learn About This" click="calldispatch()"/> > >> > > >> > </mx:Panel> > >> > > >> > > >> > > >> > > >> > ------------------------------------ > >> > > >> > -- > >> > Flexcoders Mailing List > >> > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > >> > Alternative FAQ location: > >> > https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847 > >> > Search Archives: > >> > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups > >> > Links > >> > > >> > > >> > > >> > > >> > > > > > > > > > > ------------------------------------ > > > > -- > > Flexcoders Mailing List > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > Alternative FAQ location: > > https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847 > > Search Archives: > > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links > > > > > > > > >