设为首页 加入收藏 网站搜索 繁體中文 中国建站网 — 站长资源分享平台

Flash Remoting for Flash MX 2004 As2.0 速成

来源:136z.Com 作者:佚名 时间:2005-06-21 23:58:25

.S.很抱歉,這份文件裡的專有名詞都是台灣地區的習慣用法,可能大陸地區的朋友看起來會不太習慣,可否請有時間的人修改一下,以造福更多對這有興趣的人。

MacromediaFlashRemotingforFlashMX2004ActionScript2.0網頁

官方網站:請按此

請選擇Flashremoting_comp_as20-win-en.exe下載。

萬用ActionScript

importmx.remoting.*; 
importmx.rpc.*;

//伺服器回傳資料時,會呼叫此函式
functionmyTestFunction_Result(re:ResultEvent):Void{
trace("回傳資料:"+re.result);
}

//發生處理失敗時,會呼叫此函式
functionmyTestFunction_Fault(fault:FaultEvent):Void{
trace("問題訊息:"+fault.fault.description);
}

//建立一個連線到127.0.0.1網站根目錄的myCFCDir資料夾中的myCFC.cfc
varmyService:Service=newService(
"http://127.0.0.1/Flashservices/gateway",
null,
"myCFCDir.myCFC",
null,
null);

//呼叫myService所指向的CFC中的myTestFunctino函式,並傳入"123"做為參數
varmyPendingCall:PendingCall=myService.myTestFunction("123");

//當這個呼叫有回傳訊息時,使用一個RelayResponder物件來對它做反應,這個物件在反應時會叫用我們最前面做的myTestFunction_Result或myTestFunction_Fault函式
myPendingCall.responder=newRelayResponder(this,"myTestFunction_Result","myTestFunction_Fault");

萬用CFC









製作步驟

1.首先當然先確定ColdFusionMX6.1(或BlackStone-ColdFusionMX7)、FlashMX2004及FlashRemotingAS2都安裝好了,且ColdFusion服務有在執行中。

2.在網站根目錄中做一個資料夾叫myCFCDir,裡面開一個新檔案叫myCFC.cfc(若使用ColdFusion內建的網站伺服器,網站根目錄是預設在ColdFusion資料夾下的「wwwroot」)。

3.將myCFC.cfc的內容改成上列萬用CFC的內容。

4.用http://127.0.0.1/myCFCDir/myCFC.cfc網址查看CFC的語法是否正確,ColdFusion會要求你先輸入密碼,這是為了安全起見。

5.在FlashMX2004開新檔案,在功能表選「視窗」「其他面版」「內建元件庫」「Remoting」,會多跑出一個元件庫,裡面有兩個FlashRemotingAS2的元件,將RemotingClasses拖一個到場景上,再將它刪除,如此它就會出現在這個新檔案的元件庫中。

6.將上列萬用ActionScript複製到第一個影格的動作面板中,並針對你的環境將程式碼做適當調整。

7.執行該Flash測試是否有trace出「回傳訊息:123123」,如果有就成功了。

8.要做別的FlashRemoting就直接拿上面的萬用ActionScript及萬用CFC修改就好了。

Flash的運作過程

首先由Flash來看,一開始就載入了我們需要的這些類別,然後宣告了兩個函式,分別用於處理ColdFusion的傳回值,以及在發生錯誤時做相關的處理(trace出錯誤訊息)。

接著建立Service物件,稱為myService,這是一個直接指向CFC的物件,在這個範例中它指向IP為127.0.0.1的伺服器(就是本機)根目錄下myCFCDir資料夾中的myCFC.cfc這支程式。「/Flashservices/gateway」是ColdFusion用來處理FlashRemoting呼叫的路徑,無論你的CFC放在這台主機的哪裡,都不會改變。

再來執行myService指向的CFC中的myTestFunction函式,並將回傳的PendingCall物件稱為myPendingCall,這個物件是Flash在送出對CFC的呼叫時就立刻建立的,可以將它想像成呼叫CFC的這個動作,而非CFC回傳的結果。

最後我們建立一個RelayResponder物件,並把它指給myPendingCall的responder。這是專門用來反應ColdFusion回傳值的,反應的方法就是一開頭建立的兩個函數,所以在建立這個物件的同時,將那兩個函數名稱丟給它了。

當CFC丟回資料時,myPendingCall就會叫用自己的responder,並決定執行成功還是失敗的函式來處理這些資料。

其他

MacromediaFlashRemotingforFlashMX2004ActionScript2.0還包含很多其他的功能,也有其他的做法來完成CFC呼叫。在裝好FlashRemoting之後,這些在Flash的說明面板中都有,只是英文的讀起來比較不習慣。

MacromediaFlashRemotingforFlashMX2004ActionScript2.0是我活到現在看過最長的軟體名字(嗯...來日方長,只要Macromedia還在,也許有機會看到更長的)。

請別問我為什麼舊版FlashRemoting用得好好的要改用新版,我不知道,我也是想搞清楚這一點才學會的。

MacromediaFlashRemotingforFlashMX2004ActionScript2.0包含下列Class
Connection
DataGlue
Fault
FaultEvent
Log
NetDebug
NetDebugConfig
NetServices
PendingCall
RecordSet
RelayResponder
RemotingConnector
Responder
ResultEvent
Service

MacromediaFlashRemotingforFlashMX2004ActionScript2.0包含下列Package

mx.data.components
mx.remoting
mx.remoting.debug
mx.rpc
mx.services

原文網址:
http://www.mmug.com.tw/forum/viewtopic.PHP?t=3683
http://www.aeu-studio.com/Charles/index.cfm?pid=200412170027

以及hiphen整理的简体版本.
http://www.riacn.com/bbs/showthread.ASP?postid=15307

Tags:

  • 好的评价 如果您觉得好,就请您
      0%(0)
  • 差的评价 如果您觉得差,就请您
      0%(0)
  • 相关文章
    广告赞助

    文章随便看看 设计素材 建站学院 网页模板 视频教程

    网友评论

    共有 0 位网友发表了评论,得分 0 分,平均 0 分    查看完整评论

    用户名: 查看更多评论

    分 值:100分 85分 70分 55分 40分 25分 10分 1分

    内 容:

             通知管理员 验证码: