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.
Là n'est pas le problème, cela fonctionne bien.
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>
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
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 :
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); }
Il bloque sur le cast .. mais pas à la première fois ..TypeError: Error #1034: Type Coercion failed: cannot convert ConsignationORBLayer.vo::Executants@10bbbc01 to ConsignationORBLayer.vo.Executants.
J'ai beaucoup de mal à comprendre.
Y aurait-il un génie de flex ?
Merci beaucoup
Partager