8 Replies Latest reply: Apr 24, 2013 9:19 PM by Nick Li RSS

    Problem loading modules in flex 4.5

    RedBall23

      Hi,

       

      I'm new to flex 4.5 and working with Parsley 2.4 and SDK 4.5.

      I'm getting the following error when loading a module:

       

       

      VerifyError: Error #1053: Illegal override of ParsleyFlexModuleFactory in com.adobe.cairngorm.module.ParsleyFlexModuleFactory.

       

      at com.adobe.cairngorm.module::ParsleyModuleInfoProxy/get factory()

      at com.adobe.cairngorm.module::ModuleViewLoader/addLoadedModuleToStage()

      at Function/http://adobe.com/AS3/2006/builtin::apply()

      at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\hero_private\frameworks\projects\frame work\src\mx\core\UIComponent.as:12208]

      at mx.core::UIComponent/callLaterDispatcher()[E:\dev\hero_private\frameworks\projects\framew ork\src\mx\core\UIComponent.as:12146]

       

      Does anybody knows what is the problem?

       

      Thanks!

      Assaf

        • 1. Re: Problem loading modules in flex 4.5
          RedBall23 Community Member

          One more thing:

           

          When I use sdk 4.1 and mx module everything is great.

          But I want to use sdk 4.5 and spark module, and then I have the above exception..

           

          Hope it helps to figuring out the solution.. (still waiting for an answer.. )

           

          Thanks!

          • 2. Re: Problem loading modules in flex 4.5
            Nicolas Yuen Adobe Employee

            Hi,

             

            I'll try to have a look at the issue this week, could you please open a jira ticket with a sample on our bug tracking system:

             

            https://bugs.adobe.com/jira/browse/CGM

             

            thanks

            • 3. Re: Problem loading modules in flex 4.5
              EricJ32 Community Member

              Hi,

               

              Has this been looked into? I'm trying to migrate to 4.5 and am getting the same message.

               

              Thanks

              • 4. Re: Problem loading modules in flex 4.5
                Joan Llenas

                While the issue is being fixed you can recompile the library yourself changing all mx.modules.Module references to mx.modules.IModule.

                That seems to be enough as far as I can tell.

                 

                Cheers

                • 5. Re: Problem loading modules in flex 4.5
                  DoubleFx Fr

                  Hello Nico,

                   

                  The problem just happened to me this morning, in order to fix it, it is enought to patch the Cairngorm Module Library in order to implement some methods witch extends IFlexModuleFactory, this new interface is done in order to check if an RSL is already loaded before loading, so modules and sub-applications will not load RSLs that are already loaded.

                   

                  You can patch it like that, in a project where you use the Cairngorm Module Library:

                   

                  1- Create the package "com.adobe.cairngorm.module" at the root source of the project.

                  2- Download and paste in it the http://opensource.adobe.com/svn/opensource/cairngorm3/tags/cairngorm3-3.0.9/libraries/Modu le/src/com/adobe/cairngorm/module/ParsleyFlexModuleFactory.as

                  3- In ParsleyFlexModuleFactory.as, remove the CONFIG::Flex4 tags (they're used for the conditional compilation but we don't need them because we'll indeed compile it for flex 4.5+ and not everybody uses a conditional compilation configuration).

                  4- add this code :

                   

                                      public function get allowDomainsInNewRSLs():Boolean

                                      {

                                                return factory.allowDomainsInNewRSLs;

                                      }


                                      public function set allowDomainsInNewRSLs(value:Boolean):void

                                      {

                                                factory.allowDomainsInNewRSLs = value;

                                      }


                                      public function get allowInsecureDomainsInNewRSLs():Boolean

                                      {

                                                return factory.allowInsecureDomainsInNewRSLs;

                                      }


                                      public function set allowInsecureDomainsInNewRSLs(value:Boolean):void

                                      {

                                                factory.allowInsecureDomainsInNewRSLs = value;

                                      }


                                      public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void

                                      {

                                                factory.addPreloadedRSL(loaderInfo, rsl);

                                      }


                   

                  5- Add the spicelib-flex-2.4+.swc and the parsley-flex4-2.4+.swc (or the Parsley counterpart libraries) as support for the patched ParsleyFlexModuleFactory.

                  6- Compile it with the SDK 4.5+ and that's done, it works now with the SDK 4+.

                  (If you've got more projects where you use the Cairngorm Module Library, just copy and paste the new patched package and add thespicelib-flex-2.4+ and the parsley-flex4-2.4+.swc (or the Parsley counterpart libraries)

                   


                  That will only allows the library to be fully compatible with the SDK 4.5+

                  (maybe it's good to keep Alex Uhlmann in touch with it allowing him to implement a conditional compilation or another version of the artifact the time it migrates completely its library in 4.5).

                   

                  (For the those who have a lot of Maven projects, it's preferable to re-compile the original Cairngorm Module Library with the code above in order to have the patched artifact in your maven repository, indeed, you won't have to remove the CONFIG::Flex4 tags or to add the spicelib, parsley libraries, the patched module is self-suffisent and a simple "mvn clean install" does the job)

                   

                  Note: Anyway, now, with Parsley 2.4, the flex module integration is FULLY tranparent and the need of this library is less important.

                   

                  Frédéric THOMAS

                  • 6. Re: Problem loading modules in flex 4.5
                    Nicolas Yuen Adobe Employee

                    Hi Fred!,

                     

                    Thanks for the great contribution. I'll have a look at the lib and see if the changes can be implemented in the next build

                    • 7. Re: Problem loading modules in flex 4.5
                      DoubleFx Fr Community Member

                      Hi Nico,

                       

                      Actually, no needs to ask to integrate it, that's already done on the source force repo, https://bugs.adobe.com/jira/browse/CGM-87
                      I just releazed that I was on the old repo, the new one being on sourceforge.net.

                      • 8. Re: Problem loading modules in flex 4.5
                        Nick Li

                        public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void

                         

                        Need to import LoaderInfo & RSLData ?

                        What are their path?