加载外部 SWF 会导致“找不到资源包消息”错误
Posted
技术标签:
【中文标题】加载外部 SWF 会导致“找不到资源包消息”错误【英文标题】:Loading of external SWF results in a "Could not find resource bundle messaging" error 【发布时间】:2011-01-29 03:40:14 【问题描述】:我正在使用 flash.display.Loader 加载 this example SWF 作为加载 SWF 的用例,该 SWF 在我正在开发的应用程序中使用弹性图表组件。
这是我用来加载 swf 的代码:
Main.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="onCreationComplete(event);">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import myLoaderClass;
private function onCreationComplete( e:FlexEvent ):void
trace("Init!");
var l:myLoaderClass = new myLoaderClass();
this.addChild(l);
]]>
</mx:Script>
</mx:Application>
myLoaderClass:
package
import mx.core.UIComponent;
import flash.display.DisplayObject;
import flash.display.DisplayObjectContainer;
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.utils.Dictionary;
public class JittRunner extends UIComponent
private var displayedObjects:Dictionary;
public function JittRunner():void
displayedObjects = new Dictionary();
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
private function init(e:Event = null):void
removeEventListener(Event.ADDED_TO_STAGE, init);
var mLoader:Loader = new Loader();
var mRequest:URLRequest = new URLRequest('ChartSampler.swf');
mLoader.load(mRequest);
问题是,加载 swf 的那一刻,我收到以下运行时错误:
错误:找不到资源包消息 在 mx.resources::ResourceBundle$/getResourceBundle()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\resources\ResourceBundle.as:143] 在 mx.utils::Translator$cinit() 在全局$init() 在 mx.messaging.config::ServerConfig$cinit() 在全局$init() 在 _app_FlexInit$/init() 在 mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::docFrameHandler()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:3217] 在 mx.managers::SystemManager/docFrameListener()[C:\autobuild\3.5.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:3069]
我在这里做错了什么?
【问题讨论】:
【参考方案1】:我认为您在发布的代码中没有做错任何事情。我刚刚将它粘贴到一个新项目中(将 JittRunner
重命名为 myLoaderClass
),它编译并运行良好(没有做任何事情,但没有错误)。
【讨论】:
以上是关于加载外部 SWF 会导致“找不到资源包消息”错误的主要内容,如果未能解决你的问题,请参考以下文章
as3 从网络外部加载 swf 以控制从网络外部加载的 swf