<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    小菜毛毛技術分享

    與大家共同成長

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
    flex開發中將各個功能分解到模塊中,但在加載各個模塊的時候需要注意一下問題:
    加載方法:
    private function init():void
    {
    module = mx.modules.ModuleManager.getModule("UIModule/HR/Holiday/Config/frmHolidayMain.swf");
    module.addEventListener(mx.events.ModuleEvent.READY,ready);
    module.load();


    // general=ModuleLoader(mx.managers.PopUpManager.createPopUp(this,ModuleLoader));
    //
    //           general.url="test3.swf";
    //          
    //           general.loadModule();
    }
    private function ready(e:ModuleEvent):void
    {
    var moduleInfo:IModuleInfo = e.target as IModuleInfo
    var wind:MDIWindow = new MDIWindow();


    wind.addChild(moduleInfo.factory.create() as DisplayObject);


    testcanvas.windowManager.add(wind);

    }
    需要注意的一點是 module 對象的定義一定要定義為全局的否則ready事件是不能執行的。具體原因不知道,個人理解為到ready方法中無法找到module對象了


    flex 裝載多個module出現的問題Error #1034: 強制轉換類型失敗 收藏
    摘自http://bzhang.javaeye.com/blog/322148
    TypeError: Error #1034: 強制轉換類型失敗:無法將 Object@1aee90b1 轉換為 mx.messaging.messages.IMessage。


    需求背景 :
    通過樹形菜單加載多個不同的module。
    問題現象 :module頁面存在拖動,Popup,Alert或者colorpicker出現錯誤信息:
    TypeError: Error #1034: 強制轉換類型失敗:無法將 mx.managers::PopUpManagerImpl@7155ac1 轉換為 mx.managers.IPopUpManager。
    解決方案 :
    在Application加入如下代碼引用:
         < mx:Script >
             <! [CDATA[
                 import  mx.managers.DragManager;
                 import  mx.managers.IPopUpManager;           
               
                 /*  Create dummy variables.  */
                 // 避免出現:無法將 mx.managers::PopUpManagerImpl@52a09a1 轉換為 mx.managers.IPopUpManager 錯誤
                 private  var dragManager : DragManager;
                 private  var popUpManager : IPopUpManager;
              
                //process....

            ]]>
        </mx:Script>
    問題原因分析 :
    屬于ModuleLoader shared code problem .
    當Module中使用managers時(如PopUpManager,DragManager, HistoryManager等)則可能出現這個問題(當application里在loader之前沒有引入這些manager的引用時)。
    manager 的方法是靜態方法,整個應用程序中創建了一個該manager接口的singleton實例,但module僅在自己的 Application domain中使用該單例, 當多個module使用同一個單例manager且main application沒有使用時,就會出現這個空對象引用問題:第一個引入某manager的module不能將該manager接口的 singleton跟其他module共享,其他module調用該Manager的方法時,應用程序不會再創建該manager接口的實例,這個 module就無法引用到該manager接口的實例,就出現了空對象引用問題.
    參考資料:Flex sdk源碼。

    目前在Application創建了些Application范圍內沒有使用到的"木偶變量",從代碼可讀性上來說不是很好。有其他比較好的解決方案的同學麻煩請告之下,:)

    posted on 2008-11-22 17:33 鉤子 閱讀(1118) 評論(1)  編輯  收藏 所屬分類: jee 、ria 、工作筆記

    <noscript type="text/javascript"> //<![CDATA[ Sys.WebForms.PageRequestManager._initialize('AjaxHolder$scriptmanager1', document.getElementById('Form1')); Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tAjaxHolder$UpdatePanel1'], [], [], 90); //]]> </noscript>
    Feedback
    #   re: FLEX:multiple moduleloader occur #1034 error 2008-11-24 10:14 鉤子
    同事推薦了個更好的辦法:
    在ModuleLoader 的creationComplete方法中加入如下代碼:
    moduleLoader.applicationDomain = ApplicationDomain.currentDomain;
    就可以在Application里切換多個module而不需要在Application里明文引用單例manager聲明。比我上面所說的方法更好的能解決問題而且,代碼可讀性更好。
    另外,推薦在moduleloader做切換的時候,加上:
    moduleLoader.unloadModule再做moduleLoader.loadModule().

    在這里做個小記。

    http://blog.csdn.net/yzsind/archive/2009/03/27/4031066.aspx
    posted on 2009-08-18 17:31 小菜毛毛 閱讀(2691) 評論(0)  編輯  收藏 所屬分類: FLEX
    主站蜘蛛池模板: 亚洲综合免费视频| 日本中文字幕免费高清视频| 好先生在线观看免费播放| 亚洲国产精品人久久电影| 麻豆成人久久精品二区三区免费| 久久精品国产精品亚洲色婷婷 | 亚洲人成色77777在线观看| 免费无码精品黄AV电影| 亚洲中文无码亚洲人成影院| 最近最好的中文字幕2019免费| 日本亚洲色大成网站www久久| 午夜男人一级毛片免费| 色天使亚洲综合一区二区| 亚洲A∨午夜成人片精品网站| sss在线观看免费高清| 亚洲区小说区图片区QVOD| 久久免费观看国产精品88av| 亚洲精品视频久久| 无码一区二区三区免费视频| 色天使色婷婷在线影院亚洲| 相泽亚洲一区中文字幕| 日本一卡精品视频免费| 亚洲人成www在线播放| 高清在线亚洲精品国产二区| 国产无遮挡裸体免费视频在线观看| 亚洲午夜视频在线观看| 成人免费a级毛片| www一区二区www免费| 亚洲成人激情在线| 日韩一级在线播放免费观看| xxxx日本在线播放免费不卡| 久久精品亚洲精品国产色婷 | 国产黄色免费网站| 春暖花开亚洲性无区一区二区| 日本亚洲欧洲免费天堂午夜看片女人员| 亚欧免费一级毛片| 色欲aⅴ亚洲情无码AV| 久久久久亚洲精品美女| 国产精品二区三区免费播放心 | 久久亚洲国产最新网站| 中文字幕专区在线亚洲|