您现在的位置: ::黎苑教育:: >> 电脑技术 >> 多媒体教程 >> Flash教程 >> Action Script >> 文章正文
最新热门教程
最新推荐教程
Macromedia Flash Remoting for Flash MX 2004 ActionScript 2.0 速成           
Macromedia Flash Remoting for Flash MX 2004 ActionScript 2.0 速成
副标题:
作者:佚名    文章来源:不详    点击数:    更新时间:2006-7-17

P.S.好久没有上来了..一上来看到这么好的文章,看到没有人应楼主的意思去改为简体版,那我就来改了.....
指教了.

Macromedia Flash Remoting for Flash MX 2004 ActionScript 2.0 速成 ( 搭配 ColdFusion )

万用ActionScript

import mx.remoting.*;
import mx.rpc.*;
//服务器传回数据时,会调用此函数
function myTestFunction_Result (re:ResultEvent):Void {
trace("返回数据:" re.result);}
//发生异常时,会调用此函数
function myTestFunction_Fault (fault:FaultEvent):Void {
trace("异常信息:" fault.fault.description);}
//建站一个连接到127.0.0.1根目录的myCFCDir文件夹中的myCFC.cfc
var myService:Service = new Service("http://127.0.0.1/flashservices/gateway",null,"myCFCDir.myCFC",null,null);
//调用myService所指向的CFC中的myTestFunctino函数,并传入”123”作为参数
var myPendingCall:PendingCall = myService.myTestFunction("123");
//当这个函数有回传值时,使用一个RelayResponder对象来对它做出处理.这个对象在处理时会调用我们在最前面做的myTestFunction_Result 或 myTestFunction_Fault 函数
myPendingCall.responder = new RelayResponder(this,"myTestFunction_Result","myTestFunction_Fault");

万用CFC

<cfcomponent output="no">
<cffunction access="remote" name="myTestFunction" output="false">
<cfargument name="var_01" required="yes" type="any">
<cfset tmp = var_01 & var_01>
<cfreturn tmp>
</cffunction>
</cfcomponent>

制作步骤:
1.首先当然先确定ColdFusion MX 6.1 ( 或 BlackStone - ColdFusion MX 7 )、Flash MX 2004 及 Flash Remoting AS2 都安裝好了,且 ColdFusion 服務有在执行中.

2.在网站的根目录中新建一个文件夹叫myCFCDir,里面新建一个文件叫myCFC.cfc(若使用ColdFusion内建的网站服务器,网站根目录是预设在ColdFusion文件夹下的「wwwroot」文件夹)

3.将myCFC.cfc的内容改成上面的万用CFC的内容.

4.用http://127.0.0.1/myCFCDir/myCFC.cfc网址查看CFC的语法是否正确, ColdFusion会要求先输入密码,这是为了安全起见.

5.在Flash MX 2004 新建一个文件.在菜单栏上选「Windows」「Other Panels」「Common Libraries」「Remoting」,会多出一个元件库,里面有两个Flash Remoting AS2的元件,将RemotingClasses拖一个到场景上,再将它删除,这样他就会出现在这个新的文件的元件库中.

6.将上面的万用ActionScript复制到第一帧的动作面板中,并针对你的环境将代码做适当调整.
7.执行该Flash测试是否有trace出「返回数据: :123123」,如果有就成功了.

8.要做别的Flash Remoting 就直接拿上面的万用 ActionScript 及万用 CFC 修改就可以了。

Flash的运作过程:
首先由Flash来看,一开始就载入了我们需要的这些类,然后定义了两个函数,分别用于处理ColdFusion的返回值,以及在发生错误时做相关的处理(trace出错误讯息)

接着建立 Service对象myService,这是一个直接指向CFC的对象,在这里例子中它指向IP为127.0.0.1的服务器(就是本机)根目录下的myCFCDir文件夹中的myCFC.cfc这个文件. 「/flashservices/gateway」是ColdFusion来处理Flash Remotion呼叫的路径,无论你的CFC放在这台主机的哪里,都不会改变.

再来执行myService指向CFC中的myTestFunction函数,并将返回的PendingCall对象的实例myPendingCall,这个对象是Flash在送出对CFC的调用时就立刻建立的,可以将它想像成调用CFC的这个动作,而非CFC返回的结果.

最后我们建立一个RelayResponder对象,并把它指给myPendingCall的 responder。这是专门来处理ColdFusion的返回值,处理的方法就是一开头建立的两个函数,所以在建立这个对象的同时,将那两个函名名称传给它了

当CFC传回数据时, myPendingCall就会调用自己的responder方法,并决定执行成功还是失败的函数来处理这些数据.



文章录入:郭磊    责任编辑:郭磊 
  • 上一篇文章:
  • 下一篇文章: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    加入收藏 | 设为首页 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 

    管理员:青蛙|感谢 淮北教育 友情支持 | 皖ICP备06000114号

    Email:admin@hbly.net QQ:15655475| 电话:0561-3192660

    黎苑教育
    All Rights Reserved (C) Copyright 2006