ArcGIS FlexViewer中的RemoteObject的使用問題

    問題描述:
    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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章