When i use the logic in SWFLoader to get bootstrap or top level app domain i get null for the ApplicationDomain but it gets farther as the swf file is actually loaded. But i then get the expected typecoercion errors since it is not loaded as a child of bootstrap.
SWFLoader uses the following logic:
var appDomain:ApplicationDomain = currentDomain.parentDomain;
var topmostDomain:ApplicationDomain = null;
topmostDomain = appDomain;
appDomain = appDomain.parentDomain;
lc.applicationDomain = new ApplicationDomain(topmostDomain);
As mentioned previously if i use the boostrap application domain i get the error mentioned in previous post:
VerifyError: Error #1053: Illegal override of activate in mx.managers.SystemManagerProxy
To load the 3.5 Flex SWF into a 4.1 application, you'll need to load it into the SWFLoader and use loadForCompatibility=true. This will load the SWF into its own application domain so that classes don't clash for the different versions. I didn't see that you mentioned using loadForCompatibility.
hope this helps,
When you specify loaderContext in SwfLoader loadForCompatibility is ignored. When i use loadForCompatibility the parent application Domain used is "null" which works but causes type coercion errors for classes that i want to share across the domains.
This problem is suppose to be solved by the bootstraploader but i cannot get it to work on a multi-version configuration.
Get a link-report for the bootstrap. Make sure SystemManagerProxy is not in
What would cause it to be included?
I also created vanilla boostrap and portal with only required imports on boostrap but i still get same error when i use boostrap app domain.
How do i prevent SystemManagerProxy from being included.
1 person found this helpful
The link-report should tell you how it got in there. Bootstraps may not
always be possible.
Thanks. Got it. MarshalSupport flag was set in bootstrap and was causing error. Should only be set in portal application.