首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Flex mxmlc解析组件库

用Flex mxmlc解析组件库
EN

Stack Overflow用户
提问于 2008-10-11 21:19:39
回答 3查看 11K关注 0票数 6

我是Flex的新手,我尝试使用道格·麦库恩的CoverFlow小部件实现一个简单的项目。关于如何做到这一点的大部分文档都假设一种是使用Adobe的FlexBuilder产品,这是一个售价250美元的Eclipse插件,我宁愿避免购买。我遇到的问题仅仅是如何让Doug的swc文件(它是他的组件库的二进制版本)被Flex项目编译器mxmlc所识别。我不断收到错误消息,例如

错误:无法解析到组件安装

错误:没有找到类型,或者不是编译时常量: CoverFlow。

我也尝试过"VideoCoverFlow“类型,因为我非常肯定这些类型是在Doug中定义的。唉,我一直在找出我哪里出了问题。

下面是我的mxml项目文件的全文,名为coverflow.mxml。

代码语言:javascript
复制
<?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>

我试图用以下命令编译它:

代码语言:javascript
复制
c:\flex_sdk_3\bin\mxmlc.exe -compiler.source-path=lib coverflow.mxml

我还尝试将CoverFlow_lib.swc文件移动到与mxml文件相同的dir中,而不是使用源路径参数,但这似乎没有什么区别。

如果有人能给我指点合适的医生的方向,我很乐意去RTFM。存在相关的堆栈溢出问题这里这里

谢谢!

更新:我已将构建命令更改为:

代码语言:javascript
复制
mxmlc -library-path+=lib coverflow.mxml

我还尝试了以下几点:

代码语言:javascript
复制
mxmlc -library-path+=CoverFlow_lib.swc coverflow.mxml

将swc文件与mxml文件放在同一个dir中。然而,我仍然会犯同样的错误。

还有一个视频在这里显示了我尝试使用的库,但使用的是Flex。不幸的是,它没有展示如何使用mxmlc。

我也试过简单地把我的mxml去掉,

代码语言:javascript
复制
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:local="*" >

    <local:VideoCoverFlow />

</mx:Application>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-11 21:33:11

这里是一个链接到Adobe的mxmlc命令行工具文档和一个直接链接到命令行选项引用。,我还发现mxmlc -help list是一个很好的起点。

正如另一张海报所推荐的,您确实希望使用library-path将路径添加到包含swc文件的目录中。使用+=运算符确保不覆盖前面的值

例如)

代码语言:javascript
复制
c:\flex_sdk_3\bin\mxmlc.exe -library-path+=lib coverflow.mxml
票数 9
EN

Stack Overflow用户

发布于 2008-10-11 21:24:50

如果是swc,您不应该使用库路径而不是源路径并引用swc吗?

票数 1
EN

Stack Overflow用户

发布于 2008-10-11 22:00:25

我终于有项目要做了。库路径的使用是解决方案的一部分,但我还必须仔细查看Doug库的源代码,以便在mxml中使用正确的路径信息和类型名称。

获胜的命令行是

代码语言:javascript
复制
mxmlc -library-path+=lib coverflow.mxml

工作的mxml是

代码语言:javascript
复制
<?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名称和类型名称不允许相同。如果有人能向我解释的话,我很想了解那里发生了什么。

再次感谢你的帮助西蒙和詹姆斯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/194663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档