<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Skinning Components in Flash CS3</title>
	<atom:link href="http://www.peterelst.com/blog/2007/12/04/skinning-components-in-flash-cs3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.peterelst.com/blog/2007/12/04/skinning-components-in-flash-cs3/</link>
	<description>Flash Platform Consultant</description>
	<pubDate>Mon, 08 Sep 2008 13:31:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Tom</title>
		<link>http://www.peterelst.com/blog/2007/12/04/skinning-components-in-flash-cs3/#comment-17116</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Tue, 11 Dec 2007 23:29:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.peterelst.com/blog/2007/12/04/skinning-components-in-flash-cs3/#comment-17116</guid>
		<description>I read your article on skinning Flash CS3 components and found it very helpful. When I test the movie, it looks great and works well. however, when I try to import the swf with the text scrollbar into another swf file, the scrollbar does not show up at all. In the output window, it shows:

TypeError: Error #2007: Parameter child must be non-null.
	at flash.display::DisplayObjectContainer/addChildAt()
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()
	at fl.core::UIComponent/drawNow()
	at fl.controls::ScrollBar/fl.controls:ScrollBar::draw()
	at fl.controls::UIScrollBar/fl.controls:UIScrollBar::draw()
	at fl.core::UIComponent/::callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
	at flash.display::DisplayObjectContainer/addChildAt()
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()
	at fl.core::UIComponent/::callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
	at flash.display::DisplayObjectContainer/addChildAt()
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
	at fl.controls::LabelButton/fl.controls:LabelButton::draw()
	at fl.core::UIComponent/::callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
	at flash.display::DisplayObjectContainer/addChildAt()
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()
	at fl.core::UIComponent/::callLaterDispatcher()
TypeError: Error #2007: Parameter child must be non-null.
	at flash.display::DisplayObjectContainer/addChildAt()
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()
	at fl.core::UIComponent/::callLaterDispatcher()

Clearly, it's the component that's causing it. Is there a particular way in which the component needs to be addressed in the codes? I'm using this to load text dynamically:

import fl.controls.UIScrollBar;

var my_sb:UIScrollBar = new UIScrollBar();
my_sb.x = my_txt.x + my_txt.width;
my_sb.y = my_txt.y;
my_sb.height = my_txt.height;
my_sb.scrollTarget = my_txt;
addChild(my_sb);

function loadMyText():void {
	var url:String = "assets/text/testHTML.txt";
	var loadIt:URLLoader = new URLLoader();
	loadIt.addEventListener(Event.COMPLETE, textCompleteHandler);
	loadIt.load(new URLRequest(url));
}

function textCompleteHandler(event:Event):void {
	var urlV:URLVariables = new URLVariables(event.currentTarget.data);
	//my_txt.condenseWhite = true;
	my_txt.htmlText = urlV.content as String;
	my_txt.styleSheet = myStyleSheet;
}

var flash_css:URLLoader = new URLLoader();
flash_css.addEventListener(Event.COMPLETE, cssCompleteHandler);
flash_css.load(new URLRequest("assets/text/brWht.css"));

var myStyleSheet:StyleSheet;

function cssCompleteHandler(event:Event):void {
	myStyleSheet = new StyleSheet();
	myStyleSheet.parseCSS(event.currentTarget.data);
	my_txt.styleSheet = myStyleSheet;
	loadMyText();
}

I can't seem to find the answer anywhere. Can you help?
TIA.</description>
		<content:encoded><![CDATA[<p>I read your article on skinning Flash CS3 components and found it very helpful. When I test the movie, it looks great and works well. however, when I try to import the swf with the text scrollbar into another swf file, the scrollbar does not show up at all. In the output window, it shows:</p>
<p>TypeError: Error #2007: Parameter child must be non-null.<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()<br />
	at fl.core::UIComponent/drawNow()<br />
	at fl.controls::ScrollBar/fl.controls:ScrollBar::draw()<br />
	at fl.controls::UIScrollBar/fl.controls:UIScrollBar::draw()<br />
	at fl.core::UIComponent/::callLaterDispatcher()<br />
TypeError: Error #2007: Parameter child must be non-null.<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()<br />
	at fl.core::UIComponent/::callLaterDispatcher()<br />
TypeError: Error #2007: Parameter child must be non-null.<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()<br />
	at fl.controls::LabelButton/fl.controls:LabelButton::draw()<br />
	at fl.core::UIComponent/::callLaterDispatcher()<br />
TypeError: Error #2007: Parameter child must be non-null.<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()<br />
	at fl.core::UIComponent/::callLaterDispatcher()<br />
TypeError: Error #2007: Parameter child must be non-null.<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::drawBackground()<br />
	at fl.controls::BaseButton/fl.controls:BaseButton::draw()<br />
	at fl.core::UIComponent/::callLaterDispatcher()</p>
<p>Clearly, it&#8217;s the component that&#8217;s causing it. Is there a particular way in which the component needs to be addressed in the codes? I&#8217;m using this to load text dynamically:</p>
<p>import fl.controls.UIScrollBar;</p>
<p>var my_sb:UIScrollBar = new UIScrollBar();<br />
my_sb.x = my_txt.x + my_txt.width;<br />
my_sb.y = my_txt.y;<br />
my_sb.height = my_txt.height;<br />
my_sb.scrollTarget = my_txt;<br />
addChild(my_sb);</p>
<p>function loadMyText():void {<br />
	var url:String = &#8220;assets/text/testHTML.txt&#8221;;<br />
	var loadIt:URLLoader = new URLLoader();<br />
	loadIt.addEventListener(Event.COMPLETE, textCompleteHandler);<br />
	loadIt.load(new URLRequest(url));<br />
}</p>
<p>function textCompleteHandler(event:Event):void {<br />
	var urlV:URLVariables = new URLVariables(event.currentTarget.data);<br />
	//my_txt.condenseWhite = true;<br />
	my_txt.htmlText = urlV.content as String;<br />
	my_txt.styleSheet = myStyleSheet;<br />
}</p>
<p>var flash_css:URLLoader = new URLLoader();<br />
flash_css.addEventListener(Event.COMPLETE, cssCompleteHandler);<br />
flash_css.load(new URLRequest(&#8221;assets/text/brWht.css&#8221;));</p>
<p>var myStyleSheet:StyleSheet;</p>
<p>function cssCompleteHandler(event:Event):void {<br />
	myStyleSheet = new StyleSheet();<br />
	myStyleSheet.parseCSS(event.currentTarget.data);<br />
	my_txt.styleSheet = myStyleSheet;<br />
	loadMyText();<br />
}</p>
<p>I can&#8217;t seem to find the answer anywhere. Can you help?<br />
TIA.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
