thanks to super Flex man João Fernandes for the solution here. In this example here I would have to add
import path.to.address; public var placeHolderAddreess:path.to.address; import path.to.customer; public var placeHolderCustomer:path.to.customer; Apparently the import is not enough, seemed to be ok in Flex 1.5. As João pointed out, must be a compiler efficiency approach. Thanks again João! peas DK On 6/22/06, Douglas Knudsen <[EMAIL PROTECTED]> wrote: > I put together a sample that shows this not working correctly > http://www.cubicleman.com/arraytest.zip > seems the array of address objects does get returned to Flex from CF, > but the debugger is showing that the elements are plain objects only, > not a addreess object. > > Seems something is wrong with my returntype on my CFC maybe? What > should the returntpye be set to when returning a array of CFCs? I am > using > returntype="address[]" > > DK > > On 6/22/06, Douglas Knudsen <[EMAIL PROTECTED]> wrote: > > That would be a bit of code to share! I'm using Cairngorm. The AS > > class customer below is stored in the modellocator and in my test > > cases that are failing, no value is changed in the customer object at > > all. In fact I only bind one value to a view just to ensure the > > object is getting retrieved. > > > > DK > > > > On 6/22/06, João Fernandes <[EMAIL PROTECTED]> wrote: > > > > > > Doug, > > > > > > can you share your mxml code? > > > Did you assign your as classes to any variable? > > > > > > > > > João Fernandes > > > > > > -----Original Message----- > > > From: [email protected] on behalf of Douglas Knudsen > > > Sent: Thu 22-Jun-06 3:05 AM > > > To: [email protected] > > > Subject: [flexcoders] array of CFCs and RemoteObject FB2B3 > > > > > > Ok, having some struggles here with ColdFusion CFCs, related AS VOs, > > > and remoteobject. > > > Say I have a CFC called Customer.cfc which is bean styled. It has a > > > property Addresses which is a array of Address.cfc also bean styled. > > > Similarly I have ActionScript VOs setup and registered to map to the > > > CFCs. Ok, I build a Flex app that retrieves a Customer object. It > > > gets mapped over to AS ok, I can see the array of Address objects and > > > see they are typed correctly. Now I call a method via RemoteObject > > > called save() passing the Customer object to this method. Bomb! When > > > the AS array of objects is passed to CF it loses its type. Below I > > > have some code example of what things look like. > > > > > > Thoughts? > > > > > > Customer.cfc > > > <cfcomponent> > > > <cfproperty name="customerId" type="numeric" default="0" /> > > > <cfproperty name="addresses" type="address[]" /> > > > > > > <cfscript> > > > variables.customerId= 0; > > > variables.address = ArrayNew(1); > > > </cfscript> > > > > > > <cffunction name="getCustomerId" output="false" access="public" > > > returntype="numeric"> > > > <cfreturn variables.customerId> > > > </cffunction> > > > > > > <cffunction name="setCustomerId" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfset variables.customerId = arguments.val> > > > </cffunction> > > > > > > <cffunction name="getAddress" output="false" access="public" > > > returntype="address[]"> > > > <cfreturn variables.address > > > > </cffunction> > > > > > > <cffunction name="setAddress" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true" type="address[]" > > > > <cfset variables.address = arguments.val> > > > </cffunction> > > > > > > </cfcomponent> > > > > > > address.cfc > > > <cfcomponent > > > > <cfproperty name="addressId" type="numeric" default="0"> > > > <cfproperty name="address1" type="string" default=""> > > > <cfproperty name="city" type="string" default=""> > > > <cfproperty name="state" type="string" default=""> > > > <cfproperty name="zip" type="string" default=""> > > > > > > <cfscript> > > > //Initialize the CFC with the default properties values. > > > variables.addressId = 0; > > > variables.address1 = ""; > > > variables.city = ""; > > > variables.state = ""; > > > variables.zip = ""; > > > </cfscript> > > > > > > <cffunction name="init" output="false" returntype="address"> > > > <cfreturn this> > > > </cffunction> > > > <cffunction name="getAddressId" output="false" access="public" > > > returntype="any"> > > > <cfreturn variables.AddressId> > > > </cffunction> > > > > > > <cffunction name="setAddressId" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfif (IsNumeric(arguments.val)) OR (arguments.val EQ "")> > > > <cfset variables.AddressId = arguments.val> > > > <cfelse> > > > <cfthrow message="'#arguments.val#' is not a > > > valid numeric"/> > > > </cfif> > > > </cffunction> > > > > > > <cffunction name="getAddress1" output="false" access="public" > > > returntype="any"> > > > <cfreturn variables.Address1> > > > </cffunction> > > > > > > <cffunction name="setAddress1" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfset variables.Address1 = arguments.val> > > > </cffunction> > > > > > > <cffunction name="getCity" output="false" access="public" > > > returntype="any"> > > > <cfreturn variables.City> > > > </cffunction> > > > > > > <cffunction name="setCity" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfset variables.City = arguments.val> > > > </cffunction> > > > > > > <cffunction name="getState" output="false" access="public" > > > returntype="any"> > > > <cfreturn variables.State> > > > </cffunction> > > > > > > <cffunction name="setState" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfset variables.State = arguments.val> > > > </cffunction> > > > > > > <cffunction name="getZip" output="false" access="public" > > > returntype="any"> > > > <cfreturn variables.Zip> > > > </cffunction> > > > > > > <cffunction name="setZip" output="false" access="public" > > > returntype="void"> > > > <cfargument name="val" required="true"> > > > <cfset variables.Zip = arguments.val> > > > </cffunction> > > > > > > > > > </cfcomponent> > > > > > > customer.as > > > package customer > > > { > > > [RemoteClass(alias="customer")] > > > > > > [Bindable] > > > public dynamic class customer > > > { > > > > > > public var customerId:Number = 0; > > > public var address:Array; > > > > > > public function custumer() > > > { > > > } > > > > > > } > > > } > > > > > > address.as > > > package address > > > { > > > [RemoteClass(alias="address")] > > > > > > [Bindable] > > > public dynamic class address > > > { > > > > > > public var addressId:Number = 0; > > > public var address1:String = ""; > > > public var city:String = ""; > > > public var state:String = ""; > > > public var zip:String = ""; > > > > > > public function address() > > > { > > > } > > > > > > } > > > } > > > > > > > > > -- > > > Douglas Knudsen > > > http://www.cubicleman.com > > > this is my signature, like it? > > > > > > > > > > > > > > > -- > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > -- > > Douglas Knudsen > > http://www.cubicleman.com > > this is my signature, like it? > > > > > -- > Douglas Knudsen > http://www.cubicleman.com > this is my signature, like it? > -- Douglas Knudsen http://www.cubicleman.com this is my signature, like it? ------------------------ Yahoo! Groups Sponsor --------------------~--> Yahoo! Groups gets a make over. See the new email design. http://us.click.yahoo.com/XISQkA/lOaOAA/yQLSAA/nhFolB/TM --------------------------------------------------------------------~-> -- 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 <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

