[英]Loading Flash / Flex Applications in another AIR Application
我正在AIR应用程序中加载Flex应用程序,并且正在使用childSandboxBridge
和parentSandboxBridge
在两者之间进行通信。 奇迹般有效。
但是我尝试加载Flash应用程序(主类扩展了Sprite
,而不是Application
),因此尝试在loaderInfo对象上设置childSandboxBridge
时遇到安全childSandboxBridge
。
在Flex应用程序中,它是这样的:由于childSandboxBridge
属性仅在AIR中可用,因此我正在投射loaderInfo。
loaderInfo = FlexGlobals.topLevelApplication.systemManager.loaderInfo;
try {
Object(loaderInfo).childSandboxBridge = this;
} catch(e:Error) {
...
}
在我的Flash应用中,它是这样的:
loaderInfo = myMainObject.loaderInfo; // myMainObject is the same class as 'root'
try {
Object(loaderInfo).childSandboxBridge = this;
} catch(e:Error) {
...
}
在下面的示例中,我得到以下SecurityError:
Error #3206: Caller app:/airapp.swf/[[DYNAMIC]]/1 cannot set LoaderInfo property childSandboxBridge.
两个示例的SecuritySandbox均为“应用程序”。
有什么想法为什么不能与Flash应用程序一起使用? 提前致谢。
您可能需要在Flash代码中明确指出要允许将其加载到另一个VM中。 请查看flash.system.Security类文档以获取详细信息: http : //www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/system/Security.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.