Bonjour,

Je rencontre un problème que je ne comprends pas dans mon application flex.
Pour situer le contexte, mon application est constituée d'un menu (HorizontalList) avec une série d'icônes. Lorsque l'on click sur un point de menu on ouvre une Module flex.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<mx:HorizontalList itemClick="selectedItem=mx.controls.HorizontalList(event.target).selectedItem" backgroundAlpha=".1" x="0" y="0" width="100%" rowHeight="120" columnWidth="95" rowCount="1">
<mx:dataProvider>
<mx:Object id="user" label="Utilisateurs" icon="userImg" title="Gestion des utilisateurs" module="modules/UsersModule.swf"/>
<mx:Object id="metier" label="Metiers" icon="metiersImg" title="Gestion des métiers" module="modules/MetiersModule.swf"/>
<mx:Object id="firme" label="Firmes" icon="firmesImg" title="Gestion des firmes" module="modules/FirmesModule.swf"/>
<mx:Object id="executant" label="Executants" icon="executantsImg" title="Gestion des exécutants" module="modules/ExecutantsModule.swf"/>
<mx:Object id="entiteEngin" label="Entités/Engins" icon="entiteEnginImg" title="Gestion des entités et engins" module="modules/ExecutantsModule.swf"/>
</mx:dataProvider>
</mx:HorizontalList>
<mx:Panel backgroundAlpha="0" width="100%" height="100%" title="{selectedItem.title}" id="modulePanel">
<mx:ModuleLoader id="mod" width="100%" height="100%"  url="{selectedItem.module}" />
</mx:Panel>
Là n'est pas le problème, cela fonctionne bien.
Dans chaque module je fais un traitement, et notament je dois caster certain objets, par exemple voici une ligne de code d'un de mes modules ou je cast un objet

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
[Bindable]
var selectedExecutant:Executants = new Executants();
 
private function doGridChange(event:Object):void{
selectedExecutant=Executants(mx.controls.DataGrid(event.target).selectedItem);
}
Et bien ce code fonctionne bien la première fois que je travaille dans le module, mais si je vais vers tout autre module et que je reviens dans ce module, il me met une exeption :

TypeError: Error #1034: Type Coercion failed: cannot convert ConsignationORBLayer.vo::Executants@10bbbc01 to ConsignationORBLayer.vo.Executants.
Il bloque sur le cast .. mais pas à la première fois ..
J'ai beaucoup de mal à comprendre.
Y aurait-il un génie de flex ?

Merci beaucoup