ArcGIS FlexViewer中的RemoteObject的使用问题

本文介绍在FlexSDK3.2环境下开发ArcGISFlexViewer应用时遇到的问题:仅首个Widget能通过RemoteObject访问远程对象。通过在index文件中添加特定代码解决了这一问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    问题描述:
    Flex SDK3.2下开发的ArcGIS FlexViewer应用中,含有RemoteObject的Widget,只有第一个点击的Widget可通过RemoteObject访问远程对象,再点其他Widget的时候,RemoteObject就不会发出访问请求了。
    原因:
    是由Flex SDK3.2的原因导致的。
    解决方法:
    在index文件里面加入几行代码即可解决:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx   ="http://www.adobe.com/2006/mxml" 
             xmlns    ="com.esri.solutions.flexviewer.*" 
             xmlns:widgets  ="com.esri.solutions.flexviewer.widgets.*"
             layout    ="absolute" 
             applicationComplete ="registerGlobalKeyHandler()" 
             styleName   ="plain" 
             backgroundColor  ="#6E6E6E" 
             initialize="init()"  --增加,实际使用时去掉本注释
             >
    <mx:Script>
        <![CDATA[
            import flash.net.registerClassAlias;    //增加
            import mx.messaging.messages.RemotingMessage; //增加
            import com.esri.solutions.flexviewer.AppEvent;
            import mx.managers.IDragManager;
            import mx.managers.HistoryManager;
            private var iDragManager:IDragManager;
            private var hist:HistoryManager;
            
            private function registerGlobalKeyHandler() :void
            {
                stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);
            }
            private function handleKeyDown(event:KeyboardEvent) :void
            {
                if ((event.shiftKey) && (event.keyCode == 27))
                {
                    SiteContainer.dispatchEvent(new AppEvent(AppEvent.SET_MAP_NAVIGATION, false, false, null));
                }
            }
            
//增加本函数
            private function init():void
            {
                registerClassAlias("flex.messaging.messages.RemotingMessage", RemotingMessage); 
            }

       ]]>
    </mx:Script>
</mx:Application>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值