Added: #1383 AS Debugger - debugging nested SWFs

This commit is contained in:
Jindra Petřík
2024-08-04 22:26:00 +02:00
parent c3389dbfd1
commit 84d6ad8591
45 changed files with 1409 additions and 192 deletions

View File

@@ -0,0 +1,44 @@
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.utils.ByteArray;
/**
* ...
* @author Jindra
*/
public class Main extends Sprite
{
[Embed(source="../../inner.swf", mimeType="application/octet-stream")]
public var binaryDataClass:Class;
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var byteArray:ByteArray = new binaryDataClass() as ByteArray;
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
loader.loadBytes(byteArray);
}
private function onLoaderComplete(event:Event):void {
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
var className:String = "MyInnerClass";
var LoadedClass:Class = loaderInfo.applicationDomain.getDefinition(className) as Class;
var instance:* = new LoadedClass();
instance.run(this);
}
}
}