Hi Spiros, Could you use for-each on an ArrayList in Flex? I didn't think it would work. I thought it only worked on ArrayCollection in Flex.
What is the output JavaScript for your sample code when you use ArrayCollection? In Royale if you interate on XML, or a Proxy like ArrayCollection you have to make sure the compiler knows it is XML or a Proxy subclass. If it thinks items is an Object it will not generate the right code. HTH, -Alex On 4/10/19, 6:01 AM, "spiros" <agg...@novusnet.gr> wrote: Hi, I am trying to make an iteration using the for each. The property class is a simple class with two fields. I test the iteration with this classes : 1. org.apache.royale.collections.ArrayList error message: TypeError: propertyClass is undefined 2. mx.collections.ArrayList error message TypeError: propertyClass is undefined 3. mx.collections.ArrayCollection error message TypeError: foreachiter0_target.propertyNames is not a function the as3 code is: private function iteration():void { var object:Object = new Object; for each (var propertyClass:PropertyClass in items) { object[propertyClass.name] = propertyClass.index; } } Thanks in advanced Spiros ps: The js generated code for this 3 classes (1) /** * @private */ com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests _ArrayCollectionIteration_iteration = function() { var /** @type {Object} */ object = new Object(); var foreachiter0_target = this.com_novusnet_jsTests_ArrayCollectionIteration_items; for (var foreachiter0 in foreachiter0_target) { var propertyClass = foreachiter0_target[foreachiter0]; { object[propertyClass.name] = propertyClass.index; }} }; (2) /** * @private */ com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests _ArrayCollectionIteration_iteration = function() { var /** @type {Object} */ object = new Object(); var foreachiter0_target = this.com_novusnet_jsTests_ArrayCollectionIteration_items; for (var foreachiter0 in foreachiter0_target) { var propertyClass = foreachiter0_target[foreachiter0]; { object[propertyClass.name] = propertyClass.index; }} }; (3) /** * @private */ com.novusnet.jsTests.ArrayCollectionIteration.prototype.com_novusnet_jsTests _ArrayCollectionIteration_iteration = function() { var /** @type {Object} */ object = new Object(); var foreachiter0_target = this.com_novusnet_jsTests_ArrayCollectionIteration_items; for (var foreachiter0 in foreachiter0_target.propertyNames()) { var propertyClass = foreachiter0_target.getProperty(foreachiter0); { object[propertyClass.name] = propertyClass.index; }} };