سؤال

أحصل على Flex PresumentError: خطأ #2025: يجب أن يكون DisplayObject الذي تم توفيره طفلًا للمتصل.

هذا ما لدي:

أ) قمت بتعيين المتغير LastButtonclicked على الزر الأخير الذي تم النقر عليه في التطبيق الرئيسي.

private var lastButtonClicked:DisplayObject;

    private function lastButtonClickedFunction(event:MouseEvent):void {
        lastButtonClicked = event.currentTarget as DisplayObject;

    }

ب) لدي عنوان OpenWindow وهناك خيار نعم/لا. لدي حدث مخصص لإرجاع الإجابة على التطبيق الرئيسي.

ج) في التطبيق الرئيسي ، أحاول إزالة LastButtonclicked بناءً على البيانات التي أرسلها الحدث المخصص. لذلك ، مشكلتي في هذه الوظيفة. لسبب ما لن يسمح لي بإزالة الزر. أحصل على خطأ 2025 بدلاً من ذلك.

private function answerHandler( event:AnswerEvent ):void {
        if(event.answerCorrect == true){
            removeChild(lastButtonClicked);
        }
    }

أي اقتراحات حول كيفية تصحيح هذه المشكلة؟ الحدث المخصص يطلق النار بشكل جيد. كيف يمكنني إصلاح هذا الخط: removeChild (lastButtoncked) ؛ ؟

تحرير: لقد جربت hbox1.removechild (LastButtoncked) وعملت. تمت إزالة الزر المناسب من التطبيق الرئيسي. المشكلة هي أنه ليس كل الأزرار في Hbox1. لقد حصلت على hoboxes أخرى. لذلك ، أحتاج إلى اكتشاف طريقة أكثر عامة بدلاً من استخدام HObboS1 في العبارة. لقد تعبت من هذا. Removechild (LastButtoncked) ، لكنه لم ينجح. شكرًا لك.

شكرًا لك.

-laxmidi

هل كانت مفيدة؟

المحلول 2

لقد حلتها. لقد صنعت متغيرًا ووضعته على الوالد في LastButtoncked.

خاص var myparent: كائن ؛ myParent = lastButtonclicked.parent ؛

ثم في إجابتي كتبت:

myparent.removechild (lastButtoncked) ؛

شكرًا لك.

-laxmidi

نصائح أخرى

من ما أفهمه ، يبدو أن لديك الأزرار في أ TitleWindow ومعالج الحدث في التطبيق. ربما تريد الاتصال removeChild لصالح TitleWindow (على سبيل المثال: titleWindow.removeChild(lastButtonClicked) ) بدلا من من التطبيق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top