2010-07-19 15 views
1

ceci est une partie de mon codeFlex Intégrer .png, les méta-données nécessaires

 [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"; 
      } 
     } 

Il ne compile pas .. problème avec « méta-données nécessite une définition associée. Je ne peux pas trouver ce qui manque .. . tous les exemples que j'ai googlé sont en quelque sorte le même code.

Toute velléité s'il vous plaît ??

TIA

Répondre

3

Retirez le ; après les [Embed] balises de méta-données:

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

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

Les [ ] balises de méta-données sont des descripteurs qui décrivent l'objet suivant. Dans ce cas, les variables privées. Donc, ils appartiennent ensemble et en tant que tels ne sont pas séparés par un point-virgule.

De même, vous devriez lancer vos objets sur les types corrects lors de leur utilisation. Cela n'a pas d'importance dans votre cas explicite (comme vous attribuez les objets à un objet générique), mais il pourrait devenir un problème plus tard:

etat.source = new presentAuBureau() as BitmapAsset; 
+0

Salut, merci! Ca marche ... parfois c'est évident et ça me manque! –

+0

@Kangt_qc, puisque cette réponse a résolu votre problème, vous devriez le marquer comme correct (cliquez sur la coche). –

+0

La conversion n'est pas nécessaire dans ce cas car elle est simplement affectée à la propriété 'source' qui est tapée' Object'. –

0

Essayez projet> Nettoyer dans le menu principal.

Assurez-vous que le chemin dmr/images/icones/icnVacancesInline.png est correct.

Test avec d'autres images pour voir s'ils causent le même problème.

+0

Je l'ai fait le projet> partie propre. Et oui je suis sûr du chemin de l'image. En fait, il compile si je force à compiler malgré les erreurs et les images sont là. Donc je suppose que je ne manque qu'une définition pas si importante. Mais je me demande encore lequel! –

1
  1. parfois flex est fou de chemins d'abord essayer d'utiliser [ Embed (source = '/ dmr/images/icones/icnPresenceInline.png')] avec/au début du chemin relatif
  2. L'erreur se situe à la fin de la ligne Bindable. Il ne devrait pas y avoir de ";"
  3. N'utilisez pas etat.source = new presentAuBureau();

    plutôt utiliser etat.source = presentAuBureau;

+0

Eh bien merci les gars! Cela a été corrigé et ça fonctionne comme un charme! –

Questions connexes