Flex Embed png, метаданные необходимы - PullRequest
1 голос
/ 19 июля 2010

это часть моего кода

        [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 ]

3 голосов
/ 19 июля 2010

Удалите ; после тегов метаданных [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 голос
/ 19 июля 2010
  1. иногда flex сходит с ума по путям, попробуйте сначала использовать [Embed (source = '/ dmr / images / icones / icnPresenceInline.png')] с / в начале относительного пути
  2. Ошибка в конце строки Bindable.Там не должно быть ";"
  3. Не используйте etat.source = new presentAuBureau ();

    Вместо этого используйте etat.source = presentAuBureau;

0 голосов
/ 19 июля 2010

Попробуйте «Проект»> «Очистить» из главного меню.

Убедитесь, что путь dmr/images/icones/icnVacancesInline.png указан правильно.

Проверьте другие изображения, проверьте, не вызывают ли они ту же проблему.

...