フレックス付きのP2Pについて質問があります。P2Pを使用して2つのアプリケーション間でデータを渡す場合。次のエラーが発生します。
warning: unable to bind to property 'piece' on class 'Object' (class is not an IEventDispatcher)
私はGoogleを使用して解決策を見つけるために数日を費やしましたが、そのエラーを取り除くことはできません。ObjectUtilsを使用して直接割り当て、括弧内にObjectUtilsを使用して新しいArrayCollectionを作成しようとしましたが、それでも問題を解決できません。
コードの目的:
->2人のユーザーがP2Pを介して接続します
-> 1人目のユーザーが画像を操作できます(配列コレクションにオブジェクトとして保存されます)。
-> 1番目のユーザーが更新されたArrayCollection(変更された画像を含む)を2番目のユーザーに送信します
-> 2番目のユーザーのArrayCollectionが更新され、操作された写真が表示されるようになります
Flexに関する私の知識が(かなり新しい)限り、バインドする必要があるものを適切にバインドしました。ポップアップとトレースを使用して、ArrayCollectionからのデータが正しくコピーされていることを確認できましたが、表示したくないだけです。
これが私のコードのスニペットです:
[Bindable]
public var taken:ArrayCollection = new ArrayCollection ([
new picLayout(1,'sky.png'),
new picLayout(2,'bird.png')
])
public function receiveSomeData(pass:ArrayCollection):void
{
// Want to replace current version of variable "taken" with
// the one passed in using P2P
this.taken= new ArrayCollection(pass.source);
}
public function sendSomeData(free:ArrayCollection):void
{
sendStream.send("receiveSomeData",free);
}
<s:Button click="sendSomeData(taken)" label="Update" />
あなたの助けと時間をありがとう!