2010-05-21 26 views
2

J'ai récemment décidé d'essayer une mise à niveau vers 4.0. La seule erreur que je peux travailler encore pas est celui-ci:Etrange erreur "INavigatorContent" compilant en 4.0

« Les enfants de navigateurs Halo doivent mettre en œuvre INavigatorContent »

me semble être l'obtenir sur tous mes ViewStacks qui ont validateurs.

<mx:ViewStack xmlns:mx="http://www.adobe.com/2006/mxml"> 
<mx:NumberValidator id="systolicValidator" 
     source="{systolic}" 
     required="true" 
     property="text" 
     minValue="10" 
     maxValue="300" 
     domain="int"/> 
<mx:NumberValidator id="diastolicValidator" 
     source="{diastolic}" 
     required="true" 
     property="text" 
     minValue="10" 
     maxValue="200" 
     domain="int"/> 
<mx:TextInput id="systolic"/> 
<mx:TextInput id="diastolic"/> 
    ... 
</ViewStack> 

L'erreur est renvoyée sur les balises du validateur. Mon compilateur est réglé sur "flex 3 mode de compatibilité" et mon thème est réglé sur Halo (par défaut).

Cela semble être une solution vraiment simple, alors je déteste faire tourner mes roues trop longtemps.

Des idées que je pourrais manquer?

Répondre

2

Après quelques lectures sur Flex 4, il semblerait que tous les éléments non-visuels devraient aller dans ces tags:

<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

(xmlns:fx="http://ns.adobe.com/mxml/2009") 

L'erreur était un peu étrange. Cependant, après un peu de nettoyage, j'ai eu une meilleure erreur:

'*' declaration must be contained within the <Declarations> tag since it does not implement 'mx.core.IUIComponent'.

Beaucoup, beaucoup plus utile. Je posterai à nouveau si je trouve la raison de l'erreur étrange que je recevais avant.