Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Flash/Flex > Flex
Flex Forum d'entraide sur la programmation Adobe Flex : applications Internet riches (RIA)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2011, 17h34   #1
Invité régulier
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 6
Points : 6
Par défaut State et formulaire

Bonjour à tous,

Je débute sur Flex et j'ai le problème suivant :

Je crée un formulaire composé de 3 formats, chacun d'eux est associé à un state. J'initie les champs de chacun des formats, mais le programme se plante car j'essaye d'accéder à une référence d'objet nul (le champ du 3ème format). Pourtant j'ai forcé la propriété creationPolicy à all au niveau de l'application.

Où est mon erreur ?

Merci par avance de votre aide.

Mon code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"    
			   width="100%" height="100%"
			   creationPolicy="all"
			   creationComplete="init()">
	 
		<fx:Script>
			<![CDATA[
				import mx.collections.ArrayCollection;
				import mx.states.State;
				[Bindable] private var stateCollection:ArrayCollection = new ArrayCollection([{"DFFMT":"F0100","DFTEXT":"F0100"},{"DFFMT":"F0200","DFTEXT":"F0200"},{"DFFMT":"F0300","DFTEXT":"F0300"}]);	
				
				private function init():void
				{		
					wREACCE.selectedValue = "O";
					REREPR.text = "12";
					READR1.text = "10 Rue de la pompe"; 
					
					ddlFormat.selectedIndex = 0;
					currentState = stateCollection[0].DFFMT;				
				}
				
				private function changeFormat(event:Event):void
				{
					currentState = stateCollection[ddlFormat.selectedIndex].DFFMT;
					panelForm.title = stateCollection[ddlFormat.selectedIndex].DFTEXT;
				}
				
			]]>
		</fx:Script>
		
		<fx:Declarations>
			<s:RadioButtonGroup id="wREACCE"/>
		</fx:Declarations>
		
		<s:states>
			<s:State name = "F0100"/>
			<s:State name = "F0200"/>
			<s:State name = "F0300"/>
		</s:states>

	<s:HGroup 	>
		
		<s:Panel title="State">
			<s:List id="ddlFormat" dataProvider="{stateCollection}" borderVisible="false" 
					labelField="DFTEXT"
					width="200"
					change="changeFormat(event)"/>	
		</s:Panel>

		<s:Panel id="panelForm">		
			
			<mx:Form id="F0100" includeIn="F0100">
				<mx:FormItem label="Code">		 
					<mx:TextInput id="REREPR" maxChars="4" width="50"/>
				</mx:FormItem>
			</mx:Form>
			
			<mx:Form id="F0200" includeIn="F0200">		
				<mx:FormItem>		 
					<s:RadioButton id="REACCEOui" label="Oui" value="O" groupName="wREACCE"/>
					<s:RadioButton id="REACCENon" label="Non" value="N" groupName="wREACCE"/>
				</mx:FormItem>
			</mx:Form>
			
			<mx:Form id="F0300" includeIn="F0300">
				<mx:FormItem label="Adresse 1">		 
					<mx:TextInput id="READR1" maxChars="40" width="300"/>
				</mx:FormItem>
			</mx:Form>
			
		</s:Panel>
		
</s:HGroup>
	
</s:Application>
pacroyable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 23h00   #2
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
bonjour,

ou est le soucis exactement ?

ton projet chez moi compile et marche bien les 3 states apparaissent bien en fonction de l'élément de la liste choisie
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 09h01   #3
Membre régulier
 
Inscription : août 2006
Messages : 140
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 140
Points : 80
Points : 80
Essaye un peu de rajouter un creationPolicy="all" sur tes panels.

Code :
<s:Panel title="State" creationPolicy="all">
et

Code :
<s:Panel title="panelForm" creationPolicy="all">
vilveq est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 09h34   #4
Invité régulier
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 6
Points : 6
Merci pour vos réponses,

MadFrix, le programme plante lors de l'accès au champ READR1.text associé au state F0300 (TypeError: Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul).

Peut-être est-ce lié à la config du PC et/ou au nombre de states?


Vilveq, même résultat en ajoutant creationPolicy="all" sur les panels.



J'ai essayé le changement suivant : la fonction init commence avec le code suivant
Code :
1
2
3
4
 
	currentState = "F0100";
	currentState = "F0200";
	currentState = "F0300";
pour forcer la création des champs.

Ca marche sauf pour le radioButton qui perd maintenant son initialisation (aucun bouton sélectionné).

Une idée sur cette dernière bizarrerie ?
pacroyable est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 10h06   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Et pourquoi ne pas initialiser tes champs directement comme ceci plutot que de passer par une fonction ?

Code :
1
2
3
4
 
<mx:FormItem label="Adresse 1">		 
   <mx:TextInput id="READR1" maxChars="40" width="300" text="10, rue de la pompe"/>
</mx:FormItem>
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 09h52   #6
Invité régulier
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 6
Points : 6
J'initialise les champs par format au changement d'état et tout semble fonctionner correctement.

Merci
pacroyable est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h06.


 
 
 
 
Partenaires

Hébergement Web