Bonjour à tous,

Je débute en Flex et suis confronté à un problème dans la création d'un composant.
Le problème dans mon application pourrait-être exemplifié comme suit :

Le composant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" >
	<mx:Script>
		<![CDATA[
			[Bindable]
			private var str:String;
			public function set text(str:String):void
			{
				this.str = str;
			}
			public function get text():String
			{
				return input.text;
			}
		]]>
	</mx:Script>
	<mx:Form>
	<mx:FormItem>
		<mx:TextInput id="input" text="{this.str}" />
	</mx:FormItem>
	</mx:Form>
</mx:Canvas>

L'application :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?xml version="1.0" encoding="UTF-8"?>
<mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml" usePreloader="true" xmlns:component="component.*">
<mx:Script>
<![CDATA[
			public function clickHandler(event:Event):void
			{
				mx.controls.Alert.show(composant.text);
				mx.controls.Alert.show(query.request.message);
			}
 
		]]>
</mx:Script>
<mx:HTTPService id="query" url="http://www.google.be" useProxy="false" method="post" result="mx.controls.Alert.show(event.toString())" fault="mx.controls.Alert.show(event.toString())">
	<mx:request>
		<message>{composant.text}</message>
	</mx:request>
</mx:HTTPService>
<mx:Panel>	
	<component:composant id="composant" text="Hello World" />
	<mx:Button click="clickHandler(event)" label="Afficher le texte" />
</mx:Panel>
</mx:Application>
A la compilation tout se déroule convenablement à l'exception de ce message
Warning: Data binding will not be able to detect assignments to "text".
(concerne la ligne <message>{composant.text}</message>)

Lors du clic sur le bouton la premiere action se déroule sans problème, j'affiche bien le contenu de mon TextInput.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
mx.controls.Alert.show(composant.text);
Pour la deuxième action (celle qui m'intéresse le plus), l'alert s'affiche correctement mais le contenu est vide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
mx.controls.Alert.show(query.request.message);
La méthode qui m'intéresse particulièrement est de pouvoir récupérer "composant.text" dans ma requête et l'envoyer sans devoir passer par une multitude de fonction actionscript et je ne veux pas modifier mon private str:String en public str:String.

Quelqu'un aurait-il l'astuce que je ne trouve pas (ou ne comprend pas en ayant le nez dessus) ?

Un très grand merci d'avance.