guess it just might help to mention the error,eh?
the value returned form function getAddress() was not of type address[]
Now, if I change the return type of getAddress() to say array then
getAddress()[i] is not of type address, I don't know what it is.
DK
On 6/21/06, Douglas Knudsen <[EMAIL PROTECTED]> wrote:
> 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?
>
--
Douglas Knudsen
http://www.cubicleman.com
this is my signature, like it?
------------------------ Yahoo! Groups Sponsor --------------------~-->
Something is new at Yahoo! Groups. Check out the enhanced email design.
http://us.click.yahoo.com/SISQkA/gOaOAA/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/