I've tried both creating commands in the result handler and by using the Task framework. I like the Task framework because it's more modular in that it helps keep the commands independent. Having said that, I'm having problems getting it working.
I created a task per command and each task dispatches the message for the command and wait for the results. Then I've created a sequential task group and added each task and then start the group. Here is an example of one of my tasks:- package mytasks { import org.spicefactory.lib.task.Task; import org.spicefactory.parsley.asconfig.ActionScriptContextBuilder; import MyMessage; import MyModel; public class MyTask extends Task { [Inject(id="myModel")] [Bindable] public var myModel:MyModel; [MessageDispatcher] public var messageDispatcher:Function; public function MyTask() { super(); ActionScriptContextBuilder.build(MyConfig); } protected override function doStart():void { messageDispatcher(new MyMessage()); } [MessageHandler] public function handleMyMessage(message:MyMessage):void { if (message.success == true) { myModel.debug = "success"; complete(); } else { error("my task failed"); } } } } And my configuration file contains:- <model:MyModel id="myModel"/> <spicefactory:DynamicCommand type="{MyCommand}" selector="execute" result="handleResult" error="handleError"/> My command is:- package mycommands { import mx.controls.Alert; import mx.collections.ArrayCollection; import mx.rpc.AsyncToken; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.remoting.RemoteObject; import MyMessage; import MyModel; public class MyCommand { [Inject(id="ro")] public var service:RemoteObject; [Inject(id="myModel")] public var myModel:MyModel; public function execute (message:MyMessage) : AsyncToken { return service.getRemoteData(myModel.id); } public function handleResult(result:ResultEvent, message:MyMessage):void { if (result.result != null) { myModel.dataCollection = result.result as ArrayCollection; message.success = true; } } public function handleError(fault:FaultEvent, trigger:MyMessage):void { Alert.show(fault.toString()); } } } But when I run this I get "value is not a function". So what have I missed or left out? Chris -- Chris Velevitch Manager - Adobe Platform Users Group, Sydney m: 0415 469 095 www.apugs.org.au Adobe Platform Users Group, Sydney Topic: Deploying Coldfusion into the Cloud Date: 26th September 6pm for 6:30 start Details and RSVP on http://apugs.groups.adobe.com/index.cfm?event=post.display&postid=38239