What I did is to download the latest Apache Flex SDK like described here :
http://flex.apache.org/dev-sourcecode.html
I modified the mx.managers.SystemManager like the following:
mx_internal function initialize():void
{
var runtimeDPIProviderClass:Class = info()["runtimeDPIProvider"] as
Class;
if (runtimeDPIProviderClass)
Singleton.registerClass("mx.core::RuntimeDPIProvider",
runtimeDPIProviderClass);
if (isStageRoot)
{
// TODO: Finalize scaling behavior
Stage_resizeHandler();
// _width = stage.stageWidth;
// _height = stage.stageHeight;
}
else
{
_width = loaderInfo.width;
_height = loaderInfo.height;
}
// Create an instance of the preloader and add it to the stage
preloader = new Preloader();
// Listen for preloader events
// preloader notifes when it is ok to go to frame2
preloader.addEventListener(FlexEvent.PRELOADER_DOC_FRAME_READY,
preloader_preloaderDocFrameReadyHandler);
// wait for a complete event. This gives the preloader
// a chance to load resource modules before
// everything really gets kicked off
preloader.addEventListener(Event.COMPLETE,
preloader_completeHandler);
// when the app is fully backed remove the preloader and show the app
preloader.addEventListener(FlexEvent.PRELOADER_DONE,
preloader_preloaderDoneHandler);
preloader.addEventListener(RSLEvent.RSL_COMPLETE,
preloader_rslCompleteHandler);
// Add the preloader as a child. Use backing variable because when
loaded
// we redirect public API to parent systemmanager
if (!_popUpChildren)
{
_popUpChildren = new SystemChildrenList(
this, new QName(mx_internal, "noTopMostIndex"), new
QName(mx_internal, "topMostIndex"));
}
_popUpChildren.addChild(preloader);
var rsls:Array = info()["rsls"];
var cdRsls:Array = info()["cdRsls"];
var usePreloader:Boolean = true;
if (info()["usePreloader"] != undefined)
usePreloader = info()["usePreloader"];
var preloaderDisplayClass:Class = info()["preloader"] as Class;
// Put cross-domain RSL information in the RSL list.
var rslItemList:Array = [];
var n:int;
var i:int;
if (cdRsls && cdRsls.length > 0)
{
if (isTopLevel())
rslDataList = cdRsls;
else
rslDataList = LoaderUtil.processRequiredRSLs(this, cdRsls);
var normalizedURL:String = LoaderUtil.normalizeURL(this.loaderInfo);
var crossDomainRSLItem:Class = getRSLItemDefinitionClass();
n = rslDataList.length;
for (i = 0; i < n; i++)
{
var rslWithFailovers:Array = rslDataList[i];
// If crossDomainRSLItem is null, then this is a compiler
error. It should not be null.
var cdNode:Object = instanciateRSLItem(crossDomainRSLItem,
rslWithFailovers, normalizedURL, this);
rslItemList.push(cdNode);
}
}
// Append RSL information in the RSL list.
if (rsls != null && rsls.length > 0)
{
if (rslDataList == null)
rslDataList = [];
if (normalizedURL == null)
normalizedURL = LoaderUtil.normalizeURL(this.loaderInfo);
n = rsls.length;
for (i = 0; i < n; i++)
{
var node:RSLItem = new RSLItem(rsls[i].url,normalizedURL,this);
rslItemList.push(node);
rslDataList.push([new RSLData(rsls[i].url, null, null, null,
false, false, "current")]);
}
}
// They can also specify a comma-separated list of URLs
// for resource modules to be preloaded during frame 1.
var resourceModuleURLList:String =
loaderInfo.parameters["resourceModuleURLs"];
var resourceModuleURLs:Array =
resourceModuleURLList ? resourceModuleURLList.split(",") : null;
var domain:ApplicationDomain =
!topLevel && parent is Loader ?
Loader(parent).contentLoaderInfo.applicationDomain :
info()["currentDomain"] as ApplicationDomain;
// Initialize the preloader.
preloader.initialize(
usePreloader,
preloaderDisplayClass,
preloaderBackgroundColor,
preloaderBackgroundAlpha,
preloaderBackgroundImage,
preloaderBackgroundSize,
isStageRoot ? stage.stageWidth : loaderInfo.width,
isStageRoot ? stage.stageHeight : loaderInfo.height,
null,
null,
rslItemList,
resourceModuleURLs,
domain);
}
protected function getRSLItemDefinitionClass():Class{
return
Class(getDefinitionByName("mx.core::CrossDomainRSLItem"));
}
protected function instanciateRSLItem(clazz:Class,
rslWithFailovers:Array, rootURL:String=null,
moduleFactory:IFlexModuleFactory=null):RSLItem{
return new clazz(rslWithFailovers, rootURL, moduleFactory);
}
To test if my modification works I recompiled the whole SDK and changed my
GravitySystemManager class like the following:
....
public class GravitySystemManager extends SystemManager implements
IBundleActivator
{
....
....
....
override protected function getRSLItemDefinitionClass():Class{
return
Class(getDefinitionByName("mx.core::NetworkCrossDomainRSLItem"));
}
override protected function instanciateRSLItem(clazz:Class,
rslWithFailovers:Array, rootURL:String=null,
moduleFactory:IFlexModuleFactory=null):RSLItem{
return new clazz(_AppPath, _appConfigs, rslWithFailovers,
rootURL, this) as NetworkCrossDomainRSLItem;
}
I am still getting this VerifyError erro flooding:
[SWF] Multiverses.swf/[[DYNAMIC]]/1/[[DYNAMIC]]/2/[[DYNAMIC]]/4 - 424,247 bytes
after decompression
VerifyError: Error #1053: Illegal override of getRSLItemDefinitionClass in
_gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager.
ReferenceError: Error #1065: Variable
_gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager
is not defined.
VerifyError: Error #1014: Class spark.components::Application could not be
found.
VerifyError: Error #1014: Class
com.adobe.gravity.internals.flex.ui::GravitySparkApplication could not be found.
VerifyError: Error #1014: Class mx.core::UIComponent could not be found.
VerifyError: Error #1014: Class
com.adobe.gravity.flex.serviceloader::UIServiceBase could not be found.
VerifyError: Error #1014: Class
com.adobe.gravity.internals.flex.ui::GravityApplication could not be found.
VerifyError: Error #1014: Class mx.core::UIComponent could not be found.
VerifyError: Error #1014: Class mx.managers::SystemManagerProxy could not be
found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragReject_882911133 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_mx_skins_cursor_HBoxDivider_1901584628
is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_mx_skins_BoxDividerSkin_1057002641 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragCopy_604341401 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_CloseButtonUp_41453136 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564_mx_skins_cursor_BusyCursor_286161967 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_mx_containers_FormItem_Required_2056852568
is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_assets_ErrorIndicator_png__1935102536_672265556 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_CloseButtonDisabled_1398239983 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_TreeFolderClosed_963887731 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_mx_skins_cursor_VBoxDivider_601492146 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_cursorStretch_1945791990 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_TreeDisclosureClosed_1645126974 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_TreeNodeIcon_1012233620 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragMove_604628981 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragLink_604603406 is
not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_CloseButtonOver_1031431481 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_TreeFolderOpen_1621478815 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_assets_CalendarIcon_png_1969319625_1360189988 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_TreeDisclosureOpen_2060449952 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__509536564___brokenImage_859899623 is not defined.
ReferenceError: Error #1065: Variable
_class_embed_css_Assets_swf__374270191_CloseButtonDown_1195601447 is not
defined.
ReferenceError: Error #1065: Variable
_class_embed_css_assets_RequiredIndicator_png__783798379_1938314947 is not
defined.
18.07.2019, 12:45, "Ramazan Ergüder Bekrek" <[email protected]>:
> Could it be one of the following advanced compiler options?
>
> -externs [symbol] [...]
> a list of symbols to omit from linking when building
> a SWF (advanced,
> repeatable)
> -frames.frame [label] [classname] [...]
> alias -frame
> A SWF frame label with a sequence of classnames that
> will be linked
> onto the frame. (advanced, repeatable)
> -help [keyword] [...]
> keywords are 'syntax', 'list', 'advanced', 'aliases',
> 'details', or a
> search term
> -include-classes [class] [...]
> alias -ic
> a list of classes to include in the output SWC
> (repeatable, default
> variable)
> -include-file <name> <path>
> alias -if
> a list of named files to include in the output SWC
> (repeatable)
> -include-lookup-only
> if true, manifest entries with lookupOnly=true are
> included in SWC
> catalog. Default is false. (advanced)
> -include-namespaces [uri] [...]
> alias -in
> all classes in the listed namespaces are included in
> the output SWC
> (repeatable)
> -include-resource-bundles [bundle] [...]
> alias -ir
> a list of resource bundles to include in the output
> SWC (repeatable)
> -include-sources [path-element] [...]
> alias -is
> a list of directories and source files to include in
> the output SWC
> (repeatable)
> -include-stylesheet <name> <path>
> a list of named stylesheet resources to include in
> the output SWC
> (repeatable)
> -includes [symbol] [...]
> a list of symbols to always link in when building a
> SWF (advanced,
> repeatable)
> -licenses.license <product> <serial-number>
> alias -license
> specifies a product and a serial number. (repeatable)
> -link-report <filename>
> Output a XML-formatted report of all definitions
> linked into the
> application. (advanced)
> -load-config <filename>
> load a file containing configuration options
> (repeatable)
> -load-externs <filename>
> an XML file containing <def>, <pre>, and <ext>
> symbols to omit from
> linking when building a SWF (advanced, repeatable)
> -runtime-shared-libraries [url] [...]
> alias -rsl
> a list of runtime shared library URLs to be loaded
> before the
> application starts (repeatable)
> -runtime-shared-library-path [path-element] [rsl-url]
> [policy-file-url] [rsl-url] [policy-file-url]
> alias -rslp
> (repeatable)
> -static-link-runtime-shared-libraries
> alias -static-rsls
> statically link the libraries specified by the
> -runtime-shared-libraries-path option.
>
> 18.07.2019, 12:40, "Ramazan Ergüder Bekrek" <[email protected]>:
>> Here are the release and debug versions of the file in question.
>>
>> https://gofile.io/?c=Njkheb
>>
>> 18.07.2019, 12:28, "Ramazan Ergüder Bekrek" <[email protected]>:
>>> Does anybody have contact to someone at Adobe who can give us the source
>>> code of that file so that we can understand this mistery cause I'm trying
>>> to figure this out since 2 years now?
>>>
>>> 18.07.2019, 12:21, "Ramazan Ergüder Bekrek" <[email protected]>:
>>>> I found this page with all the compiler options. Which one of those
>>>> options is responsible for bypassing the VerifyError that I get.
>>>>
>>>> http://www.docsultant.com/site2/articles/flex_cmd.html#compc_3_opt
>>>>
>>>> VerifyError: Error #1053: Illegal override of getRSLItemDefinitionClass
>>>> in
>>>> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager.
>>>> ReferenceError: Error #1065: Variable
>>>> _gravity_shared_flex_com_adobe_gravity_internals_flex_ui_GravitySystemManager
>>>> is not defined.
>>>> VerifyError: Error #1014: Class spark.components::Application could not
>>>> be found.
>>>> VerifyError: Error #1014: Class
>>>> com.adobe.gravity.internals.flex.ui::GravitySparkApplication could not be
>>>> found.
>>>> VerifyError: Error #1014: Class mx.core::UIComponent could not be found.
>>>> VerifyError: Error #1014: Class
>>>> com.adobe.gravity.flex.serviceloader::UIServiceBase could not be found.
>>>> VerifyError: Error #1014: Class
>>>> com.adobe.gravity.internals.flex.ui::GravityApplication could not be found.
>>>> VerifyError: Error #1014: Class mx.core::UIComponent could not be found.
>>>> VerifyError: Error #1014: Class mx.managers::SystemManagerProxy could
>>>> not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::BitmapAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> VerifyError: Error #1014: Class mx.core::SpriteAsset could not be found.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragReject_882911133
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_HBoxDivider_1901584628
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_mx_skins_BoxDividerSkin_1057002641
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragCopy_604341401
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_CloseButtonUp_41453136 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_BusyCursor_286161967
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_mx_containers_FormItem_Required_2056852568
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_assets_ErrorIndicator_png__1935102536_672265556 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_CloseButtonDisabled_1398239983 is
>>>> not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_TreeFolderClosed_963887731 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_mx_skins_cursor_VBoxDivider_601492146
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_cursorStretch_1945791990 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_TreeDisclosureClosed_1645126974 is
>>>> not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_TreeNodeIcon_1012233620 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragMove_604628981
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564_mx_skins_cursor_DragLink_604603406
>>>> is not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_CloseButtonOver_1031431481 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_TreeFolderOpen_1621478815 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_assets_CalendarIcon_png_1969319625_1360189988 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_TreeDisclosureOpen_2060449952 is
>>>> not defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__509536564___brokenImage_859899623 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_Assets_swf__374270191_CloseButtonDown_1195601447 is not
>>>> defined.
>>>> ReferenceError: Error #1065: Variable
>>>> _class_embed_css_assets_RequiredIndicator_png__783798379_1938314947 is not
>>>> defined.
>>>>
>>>> 18.07.2019, 08:11, "Alex Harui" <[email protected]>:
>>>>> I'm not sure the Decompiler fully answers the question. SWFDump would
>>>>> be better, maybe it is having problems with spaces in path names or with
>>>>> JAVA_TOOL_OPTIONS not setting the default file encoding to UTF-8.
>>>>>
>>>>> The goal is to see which scripts are on which frame, and maybe look
>>>>> at the code itself to see why it may not try to verify the Application
>>>>> class.
>>>>>
>>>>> -Alex
>>>>>
>>>>> On 7/17/19, 8:31 PM, "Ramazan Ergüder Bekrek" <[email protected]>
>>>>> wrote:
>>>>>
>>>>> Here is a 2 frames view of JPEXS Decompiler :
>>>>>
>>>>>
>>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpasteboard.co%2FIoumcP0.png&data=02%7C01%7Caharui%40adobe.com%7Cacca8cac00eb4603ec2c08d70b306694%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990174824334757&sdata=fcIx3eORWOGv7Ob5eeDY5%2BlSfpLwTCGKsT4gWcexqrI%3D&reserved=0
>>>>>
>>>>> 18.07.2019, 05:28, "Ramazan Ergüder Bekrek" <[email protected]>:
>>>>> > This is what I get:
>>>>> >
>>>>> > swfdump -abc gravity_shared_flex-flex450.swf
>>>>> > Error: Could not find or load main class 4.16.1
>>>>> >
>>>>> > 18.07.2019, 03:40, "Alex Harui" <[email protected]>:
>>>>> >> RSL Loaders might be two-frame SWFs where the first frame
>>>>> loads the RSLs before switching to the second frame.
>>>>> >>
>>>>> >> Run swfdump -abc on the one that works and see if it is
>>>>> multi-frame.
>>>>> >>
>>>>> >> HTH,
>>>>> >> -Alex
>>>>> >>
>>>>> >> On 7/17/19, 5:51 PM, "Ramazan Ergüder Bekrek"
>>>>> <[email protected]> wrote:
>>>>> >>
>>>>> >> In my case I get a VerifyError when ever I compile a release
>>>>> version of my custom RSLs loader which in it has a reference to spark
>>>>> application which cannot be used because once all the RSLs are loader
>>>>> including framework.swf then the class definition for
>>>>> sparks.components.Application can be added added. Somehow the version of
>>>>> gravity_shared_flex.swf from Adobe doesn't have that VerifiyError issue.
>>>>> >>
>>>>> >> 18.07.2019, 00:35, "Alex Harui" <[email protected]>:
>>>>> >> > Classes are only verified before first use. If no code paths
>>>>> ever get around to executing code that references a class, that class
>>>>> will never be verified.
>>>>> >> >
>>>>> >> > HTH,
>>>>> >> > -Alex
>>>>> >> >
>>>>> >> > On 7/17/19, 10:53 AM, "Ramazan Ergüder Bekrek"
>>>>> <[email protected]> wrote:
>>>>> >> >
>>>>> >> > Greetings again!
>>>>> >> >
>>>>> >> > I have special use case that I would like to be able to
>>>>> reproduce and as an inspiration I took one specific SWF file which is
>>>>> part of the
>>>>> >> > ADEP Gravity Client Component Framework which is an
>>>>> adaptation of the OSGi runtime in Actionscript 3.0.
>>>>> >> >
>>>>> >> > The file in question can be seen in this video
>>>>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fyoutu.be%2Fg_Y4PmR_L1w%3Ft%3D379&data=02%7C01%7Caharui%40adobe.com%7Cacca8cac00eb4603ec2c08d70b306694%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990174824334757&sdata=IgUYjQcN05H7h7VgAQQHmrpDkeQOYcR31mTR3YKDauQ%3D&reserved=0.
>>>>> >> > I'm talking about the gravity_shared_flex-flex450.swf which
>>>>> is a special RSLs loader.
>>>>> >> > That file is loaded first by Gravity as a bundle in memory
>>>>> before any RSLs are handled. In that SWF there is a GravitySystemManager
>>>>> class that extends SystemManager. That custom SystemManager first loads
>>>>> all the RSLs and then adds the GravitySparkApplication on the display
>>>>> list.
>>>>> >> >
>>>>> >> > The problem that I'am having while trying to reproduce the
>>>>> same mechanism is that inside that SWF there is a
>>>>> GravitySparkApplicationclass that extends the Application from Apache
>>>>> Flex. Although that the Application class is not compiled in that SWF it
>>>>> has no problem loading in memory and there is no VerifyError that says
>>>>> the spark.components.Application was not found.
>>>>> >> >
>>>>> >> > My intuition tells me that there is a special mxmlc compiler
>>>>> option when used in an SWF compilation that tells the Flash Player to
>>>>> skip any kind of class verification.
>>>>> >> >
>>>>> >> > My question is how did Adobe managed to compile an SWF which
>>>>> is referencing spark.components.Application as an external reference when
>>>>> that external reference comes into existence after the RSLs are loaded by
>>>>> gravity_shared_flex-flex450.swf which itself cannot be loaded before the
>>>>> RSLs?
>>>>> >> >
>>>>> >> > I hope that my question is clear.