我有一些工作的actionscript3代码,我想作为一个库展示。没有皮肤或组件,只有纯粹的as3类。所以我创建了一个SWC,把所有代码放在那里,打包成SWC。代码本身依赖于其他几个SWC,所以我将它们作为合并的依赖项包含在内,因此得到的SWC将其全部纳入其中(大小不一,但可以肯定)。检查链接器报告以确保一切,一切都很好。使用自定义swc时出现奇怪的错误
然而,当我尝试使用Flex应用程序这个SWC(甚至可以是空的),我得到奇怪的运行时错误是这样的:
ReferenceError: Error #1065: Variable _FormItemStyle__embed_css_Assets_swf_mx_containers_FormItem_Required_527421487 is not defined.
at flash.display::MovieClip/nextFrame()
at mx.managers::SystemManager/deferredNextFrame()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:319]
at mx.managers::SystemManager/preloader_initProgressHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2945]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\preloaders\Preloader.as:398]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
我没有得到一个线索是什么意思我错过了什么o_O(显然,图书馆包装出了问题)。我想这是非常愚蠢的,因为数百万开发者创建自己的SWCs时没有任何问题。我的Flex SDK是3.2.0,我使用Maven和flex-mojos(但这并不重要,因为我试图用Flash Builder纯粹构建SWC并得到相同的结果),并且我构建了flash player 9(但那也没关系,我得到了同样的狗屎大厦10)。
有人可以帮我在这个吗?
UPDATE。
显然它与传递依赖关系,如果我添加所有的SWC我的库依赖于最终的Flex应用程序,一切正常。所以现在的问题是:我如何在没有这样做的情况下使其工作,为什么即使这些传递性依赖关系合并在我的SWC中,它也不起作用?
好吧,我实际上提到过,我把代码合并到了代码中,但是它并没有帮助某种程序。:( – 2011-05-05 21:23:12
@konkere糟糕,我错过了。当你说你试图在一个空应用程序中使用它时, “use”是什么意思?你的意思是当你将swc(使用合并到代码中)链接到一个完全空的项目时,你会看到这些错误? – 2011-05-05 22:43:26