質問

私は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) )アプリケーションからではなく。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top