Hi, I'm technically on vacation, so sorry about the delay in responding. It has been difficult to find time and know what to answer due to your many posts. For example, in this post I am replying to, I do not know easily what modifications you made to SystemManager and do not have the time to compare against the default one.
I did take the time to look at the -abc dump. The abridged one you sent later was from the -debug version and not useful. Looking at the dump of the release version, the gravity loader is a standard two frame RSL loader. It is pretty much how any Flex app that uses RSLs is generated. There is a <ShowFrame/> around line 21311 (the line number might be different depending on how your editor wraps lines). There are no references to Application classes before line 21311 and the other code before line 21311 loads RSLs. So when the loader switches to Frame 2, the Application classes are ready to go. No special compiler options are needed. It is not possible to write the gravity preloader in MXML. It must be done in AS3, and special care must be taken to not reference Flex framework classes that use UIComponent or other RSL-based classes in the code that will run in Frame 1. If you SWFDump your preloader that is generating the verify errors, the code paths that run in Frame 1 will reference the classes that the verifier complains about. Modifying SystemManager should be a good way to create a custom preloader, but you have to be careful about referencing the application or other UIComponent subclasses. In the course of developing Flex, we probably broke that contract a half-dozen times and had to go back and fix it. HTH, -Alex On 7/18/19, 4:02 AM, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com> wrote: What I did is to download the latest Apache Flex SDK like described here : https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fflex.apache.org%2Fdev-sourcecode.html&data=02%7C01%7Caharui%40adobe.com%7Cd16570c0ef3443aca70f08d70b6f7ce9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990445781938429&sdata=kTzlUsczqKB1qJ8Ccfw4c6ql%2BDSica8X9LYKjD0JCo0%3D&reserved=0 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" <e.bek...@yandex.com>: > 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" <e.bek...@yandex.com>: >> Here are the release and debug versions of the file in question. >> >> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgofile.io%2F%3Fc%3DNjkheb&data=02%7C01%7Caharui%40adobe.com%7Cd16570c0ef3443aca70f08d70b6f7ce9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990445781938429&sdata=XfERGmUj20X21GvJmmBHdF8yc5hoys4VjrSapKOwIDw%3D&reserved=0 >> >> 18.07.2019, 12:28, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>> 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" <e.bek...@yandex.com>: >>>> I found this page with all the compiler options. Which one of those options is responsible for bypassing the VerifyError that I get. >>>> >>>> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.docsultant.com%2Fsite2%2Farticles%2Fflex_cmd.html%23compc_3_opt&data=02%7C01%7Caharui%40adobe.com%7Cd16570c0ef3443aca70f08d70b6f7ce9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990445781938429&sdata=KXCNS4RZbotmFvU25VamIey6EcIC8mo51NnPq%2F49Nrw%3D&reserved=0 >>>> >>>> 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" <aha...@adobe.com>: >>>>> 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" <e.bek...@yandex.com> 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%7Cd16570c0ef3443aca70f08d70b6f7ce9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990445781938429&sdata=3Gm%2Fw%2Bd%2BlpVDNIqCpnVtE8w2KsK%2BREK%2FUR0mXOpipfA%3D&reserved=0 >>>>> >>>>> 18.07.2019, 05:28, "Ramazan Ergüder Bekrek" <e.bek...@yandex.com>: >>>>> > 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" <aha...@adobe.com>: >>>>> >> 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" <e.bek...@yandex.com> 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" <aha...@adobe.com>: >>>>> >> > 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" <e.bek...@yandex.com> 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%7Cd16570c0ef3443aca70f08d70b6f7ce9%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636990445781938429&sdata=SyqzcrCSC5gTXdFL7HeziC5VtYSzDMP%2B5cgjsLpc0Wk%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.