Flex Embed png,需要元数据

时间:2010-07-19 17:31:22

标签: actionscript-3 embed flex3

这是我的代码的一部分

        [Embed(source='dmr/images/icones/icnPresenceInline.png')];
        [Bindable]
        private var presentAuBureau:Class;

        [Embed(source="dmr/images/icones/icnVacancesInline.png")];
        [Bindable]
        private var enCongeAujourdhui:Class;

        override public function set data (value:Object):void {
            super.data = value
            if(data.onLeaveToday == true) {
                etat.source = new presentAuBureau();
                etat.toolTip = "Présent au bureau";
            }
            if(data.presence == '1') {
                etat.source = new enCongeAujourdhui();
                etat.toolTip = "En congé aujourd'hui";
            }
        }

它没有编译..“元数据需要一个相关的定义的麻烦。我找不到缺少的东西......我用谷歌搜索的所有例子都是相同的代码。

请提示吗?

TIA

3 个答案:

答案 0 :(得分:3)

删除;元数据标记后的[Embed]

[Embed(source='dmr/images/icones/icnPresenceInline.png')]
[Bindable]
private var presentAuBureau:Class;

[Embed(source="dmr/images/icones/icnVacancesInline.png")]
[Bindable]
private var enCongeAujourdhui:Class;

[ ]元数据标签是描述以下对象的描述符。在这种情况下私有变量。所以它们属于一体,因此不能用分号分隔。

此外,您应该在使用对象时将对象强制转换为正确的类型。这在您的显式情况下无关紧要(因为您将对象分配给通用对象),但稍后可能会成为问题:

etat.source = new presentAuBureau() as BitmapAsset;

答案 1 :(得分:1)

  1. 有时flex对于路径很疯狂  首先尝试在相对路径的开头使用[Embed(source ='/ dmr / images / icones / icnPresenceInline.png')]
  2. 错误发生在Bindable行的末尾。应该没有“;”
  3. 请勿使用etat.source = new presentAuBureau();

    而是使用etat.source = presentAuBureau;

答案 2 :(得分:0)

尝试项目>从主菜单中清除。

确保路径dmr/images/icones/icnVacancesInline.png正确无误。

使用其他图像进行测试,看看它们是否会导致同样的问题。