<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 小菜毛毛 閱讀(2694) 評論(0)  編輯  收藏 所屬分類: FLEX
    主站蜘蛛池模板: 久久午夜伦鲁片免费无码| a级精品九九九大片免费看| 我的小后妈韩剧在线看免费高清版 | 免费人人潮人人爽一区二区| 免费看的黄色大片| 亚洲日本成本人观看| 日韩视频免费一区二区三区| 亚洲第一成年免费网站| 日韩免费一级毛片| 边摸边脱吃奶边高潮视频免费| 免费看国产曰批40分钟| 成人免费网站视频www| 在线观看国产区亚洲一区成人 | 亚洲福利一区二区精品秒拍| 中文毛片无遮挡高潮免费| 麻豆狠色伊人亚洲综合网站| 女人被男人躁的女爽免费视频| 亚洲av无码专区青青草原| 免费欧洲毛片A级视频无风险| 国产精品黄页免费高清在线观看 | 91亚洲国产成人久久精品网站| 97视频免费在线| 亚洲精品无AMM毛片| 亚洲Av无码乱码在线znlu| 二区久久国产乱子伦免费精品| 亚洲国产成人精品不卡青青草原| 免费在线看v网址| 美女被免费网站视频在线| 亚洲阿v天堂在线| 欧美a级成人网站免费| 免费人成再在线观看网站| 亚洲AV无码码潮喷在线观看| 成人女人A级毛片免费软件| 99亚洲乱人伦aⅴ精品| 亚洲精品乱码久久久久久蜜桃不卡| 99re6热视频精品免费观看| 亚洲av日韩综合一区二区三区 | 亚洲午夜精品一级在线播放放| 香蕉成人免费看片视频app下载| 亚洲欧美日韩中文二区| 亚洲色婷婷综合久久|