2009-11-04 2 views
2

Je l'ai déjà posté sur Adobe Forum mais je n'ai pas encore trouvé de réponse.Flex 4 Remote Object Méthode

Comment faire cela dans Flex 4?

<mx:RemoteObject id="srv" destination="product" channelSet="{channelSet}" 
fault="faultHandler(event)"> 
    <mx:method name="getProducts" result="getProducts_resultHandler(event)"/> 
</mx:RemoteObject> 

J'obtenu

Impossible de résoudre <s:Method> à une mise en œuvre des composants.

Lorsque vous essayez de le faire

<s:RemoteObject id="roMajor" 
    destination="MajorSrv" 
    fault="Alert.show('Remote Object Error')" > 
    <s:Method name="AddMajor" result="roMajorResult(event)"/> 
</s:RemoteObject> 

Merci

Répondre

2

Déplacer la balise <RemoteObject/> dans <fx:Declarations> tag:

<fx:Declarations> 
    <s:RemoteObject id="roMajor" destination="MajorSrv" 
    fault="Alert.show('Remote Object Error')"> 
     <s:method name="AddMajor" result="roMajorResult(event)"/> 
    </s:RemoteObject> 
</fx:Declarations> 

Ce qui suit est tirée de RIA Zone

Dans Flex 4, contrairement à ses versions antérieures, les enfants non visuels qui représentent de nouvelles déclarations de propriété ne sont pas autorisés en tant qu'enfants immédiats d'une application. Vous pouvez ajouter ces enfants non visuels sous une balise <fx:Declarations>. Cela inclut les enfants non visuels tels que les effets, les validateurs, les formateurs, les déclarations de données et les classes RPC.

donc pratiquement tout ce qui est pas affichable (qui ne s'étend pas DisplayObject (ou UIComponent pour être plus précis flex)), devrait être ajouté à la balise fx:Declarations, non pas comme l'enfant direct de la racine marque.

+0

Umm .. Désolé, j'ai oublié de mentionner que ma balise RemoteObject était déjà dans fx: Déclaration tag. je pourrais le faire mais je pour créer un objet distant pour chaque opération qui ne retourne pas le même type. Ce que je voulais faire est d'utiliser un remoteObject et de le configurer afin que la méthode appelée appelle différentes fonctions sur l'événement result. Jusqu'à présent, j'ai besoin d'un objet distant pour chaque opération SQL, c'est fastidieux. – Pii

+1

Vous utilisez * M * ethod au lieu de * m * ethod. Cela pourrait-il être le problème? – Amarghosh

+0

Oui, merci. Cela aide ... Flash Builder n'a pas montré auto complet. – Pii