FlexͨÐÅÆª——FlexºÍÍⲿ½øÐÐÒ첽ͨÐÅ
ExternalInterface.callµÄÎÊÌâ
ÇëÁôÒâÒÔÏÂÇé¾°£¬ÒªÀûÓÃÍⲿӦÓóÌÐòµ¯³öÎļþÑ¡Ôñ´°Ì壬²¢·µ»ØËùÑ¡µÄÎļþ·¾¶¡£
ʹÓÃExternalInterface.callÀ´ÊµÏÖ£¬µ±Óû§60Ãë(FlexÒѾÉèÖÃ×µÄµÈ´ýʱ¼ä)ÄÚδÄܹ»Íê³ÉÎļþÑ¡Ôñ»áµ¯³ö"1502"µÄ´íÎó£¬ÑÏÖØÓ°ÏìÓû§ÌåÏÖ¡£
ËùÒÔ£¬Ò»Ð©±È½ÏºÄʱµÄ²Ù×÷(³¬¹ý60s)£¬»òÎÞ·¨È·¶¨ºÎʱµ÷ÓÃÍê³ÉµÄ·½·¨(ÈçÉÏÊö)£¬Ó¦¸ÃʹÓÃÒì²½µ÷Óõķ½Ê½£¬µ±·½·¨Ö´ÐÐÍê³Éºó½øÐлص÷¡£
<![CDATA[
ʵÏÖÒì²½µ÷ÓûúÖÆ
Flex¶Ë
¶¨ÒåÒ»¸öDictionary£¬ÓÃÀ´»º´æ»Øµ÷µÄ·½·¨
private
var m_AsyncDict:Dictionary;
¶¨ÒåOpenFileDialogAsync·½·¨£¬ÓÃfscommandÀ´ÊµÏÖ£¬fscommandÊǵ¥ÏòµÄµ÷Ó㬲»´æÔÚ60Ã볬ʱµÄÎÊÌâ¡£
//µ¯³ö´ò¿ªÎļþ´°¿Ú£¬Ñ¡Ôñµ¥¸öÎļþ
public
function OpenFileDialogAsync(title:String = "ÇëÑ¡Ôñ1¸öÎļþ", initFolder:String = "", filter:String = "", callbackString:Function = null):void
{
//´´½¨Òì²½ID
var id:String = mx.utils.UIDUtil.createUID();
//´´½¨×Ô¶¨ÒåÒì²½ÇëÇó
var request:String = "<args>";
request += "<arg>" + id + "</arg>";
request += "<arg>" + title + "</arg>";
request += "<arg>" + initFolder + "</arg>";
request += "<arg>" + filter + "</arg>";
request += "</args>";
//»º´æ»Øµ÷·½·¨
if (callbackString != null)
m_AsyncDict[id] = callbackString;
flash.system.fscommand(FLASH_TO_APP_OPEN_FILE_DIALOG_ASYNC, request);
}
¶¨Òå²¢×¢²áAsyncCallbackºÍCancelAsyncCall·½·¨£¬ÈÃÍⲿӦÓóÌÐòÄܹ»ÏìÓ¦Òì²½»Øµ÷»òÈ¡ÏûÒì²½»Øµ÷¡£
public
function AsyncCallback(id:String, value:Object):void
{
if (m_AsyncDict[id])
{
//Ö´Ðлص÷·½·¨
Ïà¹ØÎĵµ£º
ÓÉÓÚFlexÖ»ÊÇÒ»ÖÖ¿Í»§¶Ë¼¼ÊõÆä±¾Éí²¢²»ÄÜÖ±½ÓͬÊý¾Ý¿â½»»¥£¬ÔÚʵ¼ÊµÄÓ¦Óÿª·¢¹ý³ÌÖÐFlexÌṩÁËÈçURLRequest¡¢HTTPService¡¢RemoteObject¡¢WebServiceµÈÀàÒÔʵÏÖͬ·þÎñÆ÷µÄͨѶºÍÊý¾Ý½»»¥£¬ÏÂÃæ×öһЩ½éÉܺÍʵÀý½âÎö:
1¡¢Ê¹ÓÃURLRequestÏò·þÎñÆ÷·¢ËÍÇëÇó£¬Ê¹ÓÃURLLoader½ÓÊÕ·þÎñÆ÷·µ»ØµÄÊý¾Ý:
& ......
ÔÚ¿ª·¢ÏîĿʱ£¬ÏîĿԽ´ó£¬swfÉú³ÉµÄÌå»ýÔ½´ó£¬¶ÔÓÚ¾ÖÓòÍøÓ°Ïì²»´ó£¬µ«ÊǶÔÓÚ»¥ÁªÍø¾ÍºÜÍ·ÌÛÁË¡£
¼ÓÔØÒ»¸ö½çÃæÒªºÜ¾Ã¡£Ò»°ãÈ˸ù±¾Ã»ÄÍÐÔµÈÄã¼ÓÔØÍê¡£
ΪÁ˼õСswfÌå»ý£¬¸öÈË×ܽáÁËÁ½¸ö°ì·¨¡£°ì·¨ÈçÏ£º
µÚÒ»£¬¾¡Á¿Ê¹ÓÃmodule£¬ÉÙÁ¿Ê¹ÓÃ×Ô¶¨Òå×é¼þ£¬ÕâÑù¿ÉÒÔ¼õÉÙ¼ÓÔØµÄʱ¼ä
µÚ¶þ£¬Ê¹ÓÃRSL£¬¼õСswfÌå»ý¡£RSLʹÓÃÈçÏ£º
Ó ......
×¢Ò⣺±¾»ú±ØÐëÁ¬½Ó»¥ÁªÍø
Ч¹ûͼ£º
Ô´ÂëÈçÏ£º
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init()">
<mx:Panel width="620" height="455" layout="absolute" title="ÌìÆøÔ¤±¨" fontSize="12">
......
ÎʸöÎÊÌâ ×î½üÔÚѧϰFlex¡£¡£¡£ÕÕ×ÅÍøÉÏ×ÊÁÏ£¬ÔÚMyEclipseÖÐÍê³ÉÁËFlexÓëwebÏîÄ¿ÕûºÏ
ÔÚ×öÆÕͨFlexÔËÐвâÊÔÊÇÊÇûÓÐÎÊÌâµÄ£¬µ«Èç¹ûÏëµ÷ÓÃjavaÀ࣬°´ÕÕÍøÉϵÄ×ö·¨£¬ÊÇÒª¸ü¸Ä¸ÃÄ¿
¼ÏµÄremoting-config.xml£¬µ«ÊÇÎÒ×Ô¶¯Éú³ÉµÄWebRoot/WEB_INFO/flexĿ¼ÏÂÃæ½ö½öÖ»ÓÐ
services-config.xmlÒ»¸öÎļþ£¬ÕâÊÇʲôÔÒò£¿£¿ÎÒµÄÊÇ ......
Õâ¸öDEMO¿ÉÒÔ´´½¨Ò»¸öȫеÄÊ÷Ðͽṹ£¬ÈÃÎҸе½Ææ¹ÖµÄÊÇ£¬ËäÈ»ÎÒÓÃXML¶ø²»ÊÇXMLListCollection/ArrayCollection×÷ΪTreeµÄÊý¾ÝÔ´£¬µ«¶ÔXMLµÄ¸üÐÂÒÀÈ»»áÔÚTreeÖз´Ó³³öÀ´——ÕâËÆºõºÍFlexµÄÎĵµÓгåÍ»£¬ÏÂÃæÊÇÒýÓÃFlexÎĵµµÄÒ»¶ÎÄÚÈÝ£º
Raw objects are often not sufficient if you have data that changes, bec ......