Jeff, I dont think that conversion of CF arrays to ArrayCollection will be supported. I think that CF Arrays will always be Arrays in Flex.
For FDS you can define your Products as ArrayCollection because when you return the Catalog object, basically youre telling to Fill Products ArrayCollection property with a CF product array as the source. BTW, I never had to use ArrayUtil.toArray when I know that my object is an Array in CF. João Fernandes From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Battershall, Jeff Sent: 18 January 2007 16:34 To: flexcoders@yahoogroups.com Subject: RE: [flexcoders] Slightly OT - The Limitations of CFMX 7.02 The type="Product[]" is a way to make the array returned to be an array of CFC objects. This is a johnny-come-lately syntax addition and I'm not sure where it is documented. Allows you to write code like: <cffunction name="getProducts" returntype="com.mycompany.model.Product[]"> <cfset var retArray = ArrayNew(1)/> <cfloop from="1" to="10" index="i"> <cfset ArrayAppend(retArray,createObject("component","com.mycompany.model.Product") )/> </cfloop> <cfreturn retArray/> </cffunction> And in your delegate class: public function result(obj:Object):void { var event:ResultEvent = ResultEvent(obj); ModelLocator.getInstance().products = new ArrayCollection(ArrayUtil.toArray(event.result)); } Now your ArrayCollection will contain a collection of AS Product objects - directly translated from CFCs. That works and works great and requires that you have created a matching AS object to your Product CFC, the how-to of which has been written up in numerous places. What is at issue is specifically the ability to have the ArrayCollection exist as a PROPERTY of your ActionScript PARENT object. Like <cfcomponent name="Catalog" alias="com.mycompany.model.Catalog"> <cfproperty name="catalog__id" type="numeric"/> <cfproperty name="catalog_name" type="string"/> <cfproperty name="products" type="com.mycompany.model.Products[]"/> </cfcomponent> [RemoteClass(alias="com.mycompany.model.Catalog")] [Bindable] public class Catalog { import mx.collections.ArrayCollection; public function Catalog() { } public var catalog_id:Number; public var catalog_name:String; public var products:ArrayCollection; } If you passing back a Catalog.cfc instance with the products array populated, that product array will not be translated over the wire - that's what I'm seeing and it just may not be supported yet. What I'm doing currently is to populate my Catalog object in two passes - one to get the catalog metadata and the other to get the product ArrayCollection. Jeff -----Original Message----- From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> ] On Behalf Of Adam Dorritie Sent: Thursday, January 18, 2007 8:22 AM To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> Subject: Re: [flexcoders] Slightly OT - The Limitations of CFMX 7.02 On 1/17/07, Battershall, Jeff <[EMAIL PROTECTED] <mailto:jeff.battershall%40dowjones.com> > wrote: > I've been using CFMX 7.02's ability translate CFCs to AS objects but > have noticed the following limitation: > > If I have an array of objects (like CFCs) in my CFC/AS class def - > these will not translate over the wire and I'm forced to pull over > the array as a separate remoting request. > > Example: > Catalog.cfc has an attribute products of type Product.cfc array. > <cfproperty name="Products" type="Product[]"/> Catalog.as has an > ArrayCollection of Product objects, i.e., public var > Products:ArrayCollection. I'm confused about the syntax of the <cfproperty> tag you used above. I may be wrong, but my understanding is that you would specify that Products is an array like this: <cfproperty name="Products" type="array">. IIRC CF isn't concerned about the type of an array's content. I would also echo João's advice to define Products as an Array in your AS class. -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links