繁体   English   中英

在另一个AIR应用程序中加载Flash / Flex应用程序

[英]Loading Flash / Flex Applications in another AIR Application

我正在AIR应用程序中加载Flex应用程序,并且正在使用childSandboxBridgeparentSandboxBridge在两者之间进行通信。 奇迹般有效。

但是我尝试加载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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM