Skip navigation
Currently Being Moderated

Problem loading modules in flex 4.5

May 25, 2011 11:47 PM

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\frame works\projects\framework\src\mx\core\UIComponent.as:12208]

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

 

Does anybody knows what is the problem?

 

Thanks!

Assaf

 
Replies
  • Currently Being Moderated
    Jun 15, 2011 3:40 PM   in reply to RedBall23

    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

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 21, 2011 5:19 AM   in reply to Nicolas Yuen

    Hi,

     

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

     

    Thanks

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 21, 2011 12:02 PM   in reply to EricJ32

    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

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 27, 2011 4:32 AM   in reply to Nicolas Yuen

    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/Module/src/com/adobe/cairngorm/module/ParsleyFlexModul eFactory.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

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 27, 2011 5:13 PM   in reply to DoubleFx Fr

    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

     
    |
    Mark as:
  • Currently Being Moderated
    Oct 29, 2011 2:06 AM   in reply to Nicolas Yuen

    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.

     
    |
    Mark as:
  • Currently Being Moderated
    Apr 24, 2013 9:19 PM   in reply to DoubleFx Fr

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

     

    Need to import LoaderInfo & RSLData ?

    What are their path?

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points