メイン ActionScript 3.0 特設会議室 親からの子制御(追加・削除) | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kkk01 | Åê¹ÆNo.38464 投稿日時: 2008-4-17 11:18 |
新米 居住地: 東京 投稿: 16
使用環境:
WinXP : Flash CS3 WinXP : Flex Builder 3 |
親からの子制御(追加・削除) お世話になっております。
下記の様な機能を実装しようとしています。 ドキュメントルート btnAdd:ボタンインスタンス ドキュメントルートクラスTestDocument.as
アタッチ用子オブジェクトTest btnOk:ボタンインスタンス btnCancel:ボタンインスタンス Test用クラス Test.as
子を生成時、親が子自身のボタンイベントを制御したい、 という処理です。 現象としては、 親ボタンによる子追加 → 子ボタンによる子削除*1 → 親ボタンによる子追加 → 子ボタンによる子削除*2 → エラー発生 引用: VerifyError: Error #1107: ABC データは破損しているため、境界外の読み取りが試行されました。 また、*1と*2のボタンが異なる場合、以下のエラーも 合わせて出力されます。 引用: ArgumentError: Error #2025: 指定した DisplayObject は呼び出し元の子でなければなりません。 元々Flexにて開発していたところ、後者のエラーが発生し、 Flashに還元し検証したところ、前者のエラーも合わせて確認した、 という経緯です。 前者のエラーについては、こちらに説明が載っています。 実行関数を外出しにして制御した場合は正常に動作します。 詳細な原因および回避方法がお分かりでしたら ご教示よろしくお願いいたします。 |
kkk01 | Åê¹ÆNo.38468 投稿日時: 2008-4-17 12:25 |
新米 居住地: 東京 投稿: 16
使用環境:
WinXP : Flash CS3 WinXP : Flex Builder 3 |
Re: 親からの子制御(追加・削除) 自己レスです。
調査を進めた結果、現象の回避はできました。 修正箇所は、Test用クラス TestDocument.as 【修正前】
【修正後】
イベントハンドラを明示的に削除していなかったので インスタンスへの参照が残っていたのですね。。。 同じシンボルなのでインスタンスへの参照も 都度変わるかと誤認していましたが、 別インスタンスなので参照も異なるという、 結構当たり前の箇所が原因でした。 失礼致しました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |