我是Flex的新手,我尝试使用道格·麦库恩的CoverFlow小部件实现一个简单的项目。关于如何做到这一点的大部分文档都假设一种是使用Adobe的FlexBuilder产品,这是一个售价250美元的Eclipse插件,我宁愿避免购买。我遇到的问题仅仅是如何让Doug的swc文件(它是他的组件库的二进制版本)被Flex项目编译器mxmlc所识别。我不断收到错误消息,例如
错误:无法解析到组件安装
和
错误:没有找到类型,或者不是编译时常量: CoverFlow。
我也尝试过"VideoCoverFlow“类型,因为我非常肯定这些类型是在Doug中定义的。唉,我一直在找出我哪里出了问题。
下面是我的mxml项目文件的全文,名为coverflow.mxml。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:local="*"
height="100%"
width="100%"
layout="absolute">
<local:CoverFlow
id="CoverFlow"
horizontalCenter="0"
verticalCenter="0"
borderThickness="10"
borderColor="#FFFFFF"
width="100%"/>
</mx:Application>我试图用以下命令编译它:
c:\flex_sdk_3\bin\mxmlc.exe -compiler.source-path=lib coverflow.mxml我还尝试将CoverFlow_lib.swc文件移动到与mxml文件相同的dir中,而不是使用源路径参数,但这似乎没有什么区别。
如果有人能给我指点合适的医生的方向,我很乐意去RTFM。存在相关的堆栈溢出问题这里和这里。
谢谢!
更新:我已将构建命令更改为:
mxmlc -library-path+=lib coverflow.mxml我还尝试了以下几点:
mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml将swc文件与mxml文件放在同一个dir中。然而,我仍然会犯同样的错误。
还有一个视频在这里显示了我尝试使用的库,但使用的是Flex。不幸的是,它没有展示如何使用mxmlc。
我也试过简单地把我的mxml去掉,
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:local="*" >
<local:VideoCoverFlow />
</mx:Application>发布于 2008-10-11 21:33:11
这里是一个链接到Adobe的mxmlc命令行工具文档和一个直接链接到命令行选项引用。,我还发现mxmlc -help list是一个很好的起点。
正如另一张海报所推荐的,您确实希望使用library-path将路径添加到包含swc文件的目录中。使用+=运算符确保不覆盖前面的值
例如)
c:\flex_sdk_3\bin\mxmlc.exe -library-path+=lib coverflow.mxml发布于 2008-10-11 21:24:50
如果是swc,您不应该使用库路径而不是源路径并引用swc吗?
发布于 2008-10-11 22:00:25
我终于有项目要做了。库路径的使用是解决方案的一部分,但我还必须仔细查看Doug库的源代码,以便在mxml中使用正确的路径信息和类型名称。
获胜的命令行是
mxmlc -library-path+=lib coverflow.mxml工作的mxml是
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:coverflow="com.dougmccune.coverflow.*"
xmlns:containers="com.dougmccune.containers.*"
xmlns:local="*" >
<containers:CoverFlowContainer id="flow" />
</mx:Application由于某种原因,如果我使用id="coverflow",我的容器就会抱怨。我收到一个错误,说明id名称和类型名称不允许相同。如果有人能向我解释的话,我很想了解那里发生了什么。
再次感谢你的帮助西蒙和詹姆斯。
https://stackoverflow.com/questions/194663
复制相似问题