I’m having problems adding elements to arrays but for some reason the array looses the elements when the function that adds the new elements goes out of scope (I’m coming from a c# and VB background so excuse some terminology).
For example I have the following class:
In another class I have the following class that contains code that use the Data_Store and the newDataStore function within it to populate an array and then add a new element to the original array – Computer say no when I try access the new element of the array by returning “undefined”:Code:class Classes. Data_Store { var dataStore:Object = new Object(); function Data_Store() { //Constructor } //******************* //New DataStore //******************* function newDataStore() { dataStore.DataStore = new Object(); dataStore.DataStore.dataRow = new Array(); } }
Code:Class Classes.Use_DataStore { function Use_DataStore() { //Constructor } Function loadData(recordID) { var myService:Service = new Service(_level0.serverType, null, _level0.cfComponentPath, null, null); var pc:PendingCall = myService.loadData({recordID}); pc.responder = new RelayResponder(this, “loadData_Result”, “loadData_Error”); } Function loadData_Result(res:ResultEvent) { // Create new data store object _root.Data_Store.newDataStore(); // Load data into dataStore array – code omitted as not relevant // Add new elements to array addElementsToArray(); // Loop through array hopefully with new element attached for (var prop in _root.Data_Store.dataStore.dataRow } function loadData_Error() { _level0.Message.drawInfo(“loadData_Error”); } function addElementsToArray() { for (var i = 0; i < _root.Data_Store.dataStore.DataStore.dataRow.length; i++) { _root.Data_Store.dataStore.DataStore.dataRow.myNewElement = “Element” + i; } } }




Bookmarks