RemoveChildを使用する場合、Flex 3エラー#2025
-
28-09-2019 - |
質問
私はFlex ArgumentErrorを取得しています:エラー#2025:付属のDisplayObjectは発信者の子供でなければなりません。
これが私が持っているものです:
a)メインアプリでクリックされた最後のボタンにlastbuttonclicked変数を設定します。
private var lastButtonClicked:DisplayObject;
private function lastButtonClickedFunction(event:MouseEvent):void {
lastButtonClicked = event.currentTarget as DisplayObject;
}
b)タイトルウィンドウが開いており、yes/noのオプションがあります。カスタムイベントがメインアプリに答えを返します。
c)メインアプリでは、カスタムイベントから送信されたデータに基づいてLastButtonClickedを削除しようとしています。したがって、私の問題はこの機能にあります。何らかの理由で、ボタンを削除できません。代わりにエラー2025が得られます。
private function answerHandler( event:AnswerEvent ):void {
if(event.answerCorrect == true){
removeChild(lastButtonClicked);
}
}
この問題をデバッグする方法に関する提案はありますか?カスタムイベントは大丈夫です。この行を修正するにはどうすればよいですか:RemoveChild(LastButtonClicked); ?
編集:hbox1.removechild(lastbuttonclicked)を試してみましたが、うまくいきました。適切なボタンはメインアプリから削除されました。問題は、すべてのボタンがhbox1にあるわけではないことです。私は他のHBOXを持っています。したがって、ステートメントでHBOX1を使用する代わりに、より一般的な方法を把握する必要があります。私はこれを疲れました。RemoveChild(LastButtonClicked)、しかしそれはうまくいきませんでした。ありがとうございました。
ありがとうございました。
-laxmidi
解決 2
私はそれを解決しました。変数を作成し、LastButtonClickedの親に設定しました。
private var myparent:object; myParent = lastbuttonclicked.parent;
それから私の回答ハンドラーで私は書いた:
myParent.RemoveChild(LastButtonClicked);
ありがとうございました。
-laxmidi
他のヒント
私が理解していることから、あなたはボタンを持っているようです TitleWindow
アプリケーションのイベントハンドラー。あなたはおそらく電話したいです removeChild
のインスタンスのために TitleWindow
(例えば: titleWindow.removeChild(lastButtonClicked)
)アプリケーションからではなく。