AS3: проблема AddChild - «Ошибка типа: ошибка # 2007: дочерний параметр должен быть ненулевым». - PullRequest
0 голосов
/ 10 августа 2010

Мой следующий код дал мне TypeError: Ошибка # 2007: Параметр child должен быть ненулевой ошибкой времени выполнения.не знаю почему ... Буду признателен за любую помощь ...

        mySb = new ScrollBar(); 
        mySb.x = cont.x; //+ cont.width;
        mySb.y = cont.y;
        mySb.height = contMask.height;
        mySb.enabled = true;
        addChild(mySb); 

Обновлено

package com.search.view

{

import com.search.events.YouTubeSearchEvent;

import fl.controls.ScrollBar;
import fl.controls.Slider;
import fl.controls.UIScrollBar;
import fl.events.ScrollEvent;
import fl.events.SliderEvent;

import flash.display.Shape;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.net.URLLoader;

public class SearchResultContainer extends Sprite
{
    private var cont:videoCont;
    private var contMask:Sprite;
    private var mySb:ScrollBar;


    public function SearchResultContainer()
    {
        super();

        }
    public function get selectedVideoID():String{
        return newVideoID;
    } 

    public function createContainer(_x:Number,_y:Number, videoResult:Array):void{



    cont=new videoCont();
    cont.x=_x;
    cont.y=_y;
    addChild(cont);

    contMask = new Sprite();
    contMask.x = cont.x;
    contMask.y = cont.y;
    createMask(contMask,0x000000,452,88);

    addChild(contMask);     
    cont.mask = contMask;


    mySb = new ScrollBar(); 
            mySb.x = cont.x; //+ cont.width;
            mySb.y = cont.y;
            mySb.height = contMask.height;
            mySb.enabled = true;
            addChild(mySb); //problem code here...




    }


    private function createMask(inSrc:*,inColor:Number=0x999999,inW:Number=80,inH:Number=50):void{
        var rect:Shape=new Shape();
        rect.graphics.clear();
        rect.graphics.beginFill(inColor);
        rect.graphics.drawRect(0,0,inW,inH);
        rect.graphics.endFill();
        inSrc.addChild(rect);
    }



}

}

Я нахожусь в Flexокружающая среда ....

Ответы [ 2 ]

1 голос
/ 10 августа 2010

Попробуйте добавить точку останова до того, как возникнет проблема, и проверьте значение mySb. Похоже, что оно, вероятно, нулевое, в противном случае вам придется искать нулевые значения в используемых вами объектах DisplayObject или в свойствах переназначение их ... если оно пустое, возможно, вам нужно установить дополнительные свойства для вашего экземпляра ScrollBar, прежде чем добавлять его в список отображения ...

0 голосов
/ 07 мая 2013

В моем случае я решил это, добавив компонент в библиотеку фильмов, но работая в среде Flash CS5.5.

...