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 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?
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.. )
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.
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
public function set allowDomainsInNewRSLs(value:Boolean):void
factory.allowDomainsInNewRSLs = value;
public function get allowInsecureDomainsInNewRSLs():Boolean
public function set allowInsecureDomainsInNewRSLs(value:Boolean):void
factory.allowInsecureDomainsInNewRSLs = value;
public function addPreloadedRSL(loaderInfo:LoaderInfo, rsl:Vector.<RSLData>):void
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.
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.
Europe, Middle East and Africa