Thats not how remoting works. By sending an object to the server, the gateway translates it into a or many structures that is in the argument scope of CF.
to pass a string to a CFC do this: public function sendToCFC():void{ var cfObj:Object = {input:source.text}; myFlashRemote.echoString(cfObj); } Now what this does is send an AS object through the gateway that will inturn translate this into a structure with input as an argument with the value of the send textfield's text. Now, when you return something from the CFC, its best to bind that to a Bindable variable. In this case I would create a bindable var called returnString:String and in my result function do this. public function setReturnString(event:ResultEvent):void{ returnString = event.result as String; } To get to the result of your CFC call, a result function needs to be specified or else the app will not know what to do with the result. Here is your code changed to show how it all works. <?xml version="1.0" encoding="utf-8"?> <mx:ApolloApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" pageTitle="Flex Remoting Example"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; [Bindable] public var resultString:String; public function sendToCFC():void{ var cfObj:Object = {input:send.text}; myFlashRemote.echoString(cfObj); } public function setReturnString(event:ResultEvent):void{ returnString = event.result as String; } ]]> </mx:Script> <mx:RemoteObject id="myFlashRemote" destination="ColdFusion" source="test" endpoint="http://demo.dev/flex2gateway/"> <mx:method name="echoString" result="setReturnString(event)"/> </mx:RemoteObject> <mx:Button x="141" y="280" label="Button" click="sendToCFC()" /> <mx:TextArea id="source" width="356" height="201" text="{resultString}" x="10" y="10"/> <mx:TextInput x="101" y="229" id="send" text="Hello out there,"/> </mx:ApolloApplication> On 22 Mar 2007 07:02:11 -0700, rchadgray <[EMAIL PROTECTED]> wrote:
Ok now I am starting to break down Clint's example so I understand what is going on. I tossed out the AS just to kind of make me understand how the tags are working together. My question now is why cant I do this in my button click event: myFlashRemote.echoString({send.text})" Here is my current code and it works, but I want the text entered into the TextInput tag to be passed to the remote object. Right now I have static text in myFlashRemote.echoString() <?xml version="1.0" encoding="utf-8"?> <mx:ApolloApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" pageTitle="Flex Remoting Example"> <mx:RemoteObject id="myFlashRemote" destination="ColdFusion" source="test" endpoint="http://demo.dev/flex2gateway/"> <mx:method name="echoString" /> </mx:RemoteObject> <mx:Button x="141" y="280" label="Button" click="myFlashRemote.echoString('a232322323')" /> <mx:TextArea id="source" width="356" height="201" text="{myFlashRemote.echoString.lastResult}" x="10" y="10"/> <mx:TextInput x="101" y="229" id="send"/> </mx:ApolloApplication> My CFC: <cfcomponent> <cffunction name = "echoString" returnType = "string" output = "no" access = "remote"> <cfargument name = "input" type = "string"> <cfset returned = arguments.input & "chad said"> <cfreturn returned> </cffunction> </cfcomponent>
-- http://indeegrumpee.spaces.live.com/