<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>神の翩翩夏日 &#187; FLEX</title>
	<atom:link href="http://www.glglife.com/category/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.glglife.com</link>
	<description>生命在于折腾</description>
	<lastBuildDate>Sun, 23 May 2010 05:42:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex中嵌入字体</title>
		<link>http://www.glglife.com/2008/01/14/flex-embedded-fonts/</link>
		<comments>http://www.glglife.com/2008/01/14/flex-embedded-fonts/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 08:31:14 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[字体]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/14/flex%e4%b8%ad%e5%b5%8c%e5%85%a5%e5%ad%97%e4%bd%93/</guid>
		<description><![CDATA[使用以下的形式就可以将你本地电脑上的字体嵌入到Flex中注意：在嵌入字体的同时会相应的增大Flex文件的大小 

@font-face {&#160;&#160;&#160;&#160;src: local(&#34;Arial&#34;);&#160;&#160;&#160;&#160;fontFamily: ArialEmbedded;&#160;&#160;&#160;&#160;fontWeight: normal;}&#160;@font-face {&#160;&#160;&#160;&#160;src: local(&#34;Arial&#34;);&#160;&#160;&#160;&#160;fontFamily: ArialEmbedded;&#160;&#160;&#160;&#160;fontWeight: bold;}&#160;Application {&#160;&#160;&#160;&#160;font-family: ArialEmbedded;}

]]></description>
			<content:encoded><![CDATA[<p>使用以下的形式就可以将你本地电脑上的字体嵌入到Flex中<br /><font><font size="2"><span style="color: red; font-family: 宋体">注意：在嵌入字体的同时会相应的增大</span><span style="color: red"><font face="Times New Roman">Flex</font></span><span style="color: red; font-family: 宋体">文件的大小</span></font></font> </p>
<p><font size="1"></font><span style="color: red"><font face="Courier New" color="#000000">@font-face {<br />&nbsp;&nbsp;&nbsp;&nbsp;src: local(&quot;Arial&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;fontFamily: ArialEmbedded;<br />&nbsp;&nbsp;&nbsp;&nbsp;fontWeight: normal;<br />}<br />&nbsp;<br />@font-face {<br />&nbsp;&nbsp;&nbsp;&nbsp;src: local(&quot;Arial&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;fontFamily: ArialEmbedded;<br />&nbsp;&nbsp;&nbsp;&nbsp;fontWeight: bold;<br />}<br />&nbsp;<br />Application {<br />&nbsp;&nbsp;&nbsp;&nbsp;font-family: ArialEmbedded;<br />}</font></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/14/flex-embedded-fonts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记六</title>
		<link>http://www.glglife.com/2008/01/14/flex-study-notes-six/</link>
		<comments>http://www.glglife.com/2008/01/14/flex-study-notes-six/#comments</comments>
		<pubDate>Mon, 14 Jan 2008 08:05:21 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[ActionScript3]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/14/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e5%85%ad/</guid>
		<description><![CDATA[1、parentApplication

&#160;&#160; 组件的parentApplication属性包含此组件的Application对象，Application对象本身的parentApplication为null。当Flex程序生成的SWF文件被其他的Flex程序加载时，被加载的Flex程序中组件的parentApplication属性保持不变，这种情况下，parentApplication属性有可能代表主程序

&#160;&#160; 组建还有两个相关属性：parent属性，指包含组件的父级对象；parentDocument属性，指组件所在的Application程序或用户组中位于层级顶部的对象。parentDocument和parent属性很容易混淆，它们有时会指向同一对象。比如在自定义一个继承Canvas的组件，叫cartCell，其中放入一个id为cart_check的CheckBox，那么这个cart_check的parent属性和parentDocument属性总代表cartCall组件本身。如果在cartCell中再创建一个名为check_holder的Canvas，将cart_check放在check_holder里面，这样cartCell中就形成了两级容器。此时cart_check的parent指向check_holder，而parentDocument仍然指向cartCell组件不变。

2、关于dispatchEvent&#160;&#160; 他是Flex事件机制中的一个核心方法，用来派发事件：&#160;&#160; this.parentApplication.dispatchevent(new cartEvent(data,cart_check.selected));&#160;&#160; 这句代码的作用是，this.parentApplication对象（也就是Application本身），将新创建的cartEvent对象派发出去。新建的cartEvent对象还包含了两个属性，存放的必要的信息。当有对象侦听这个事件时，就可以获得这些信息

<span class="readmore"><a href="http://www.glglife.com/2008/01/14/flex-study-notes-six/" title="Flex学习笔记六">阅读全文——共882字</a></span>]]></description>
			<content:encoded><![CDATA[<p><strong>1、parentApplication</strong></p>
<p>&nbsp;&nbsp; 组件的parentApplication属性包含此组件的Application对象，Application对象本身的parentApplication为null。当Flex程序生成的SWF文件被其他的Flex程序加载时，被加载的Flex程序中组件的parentApplication属性保持不变，这种情况下，parentApplication属性有可能代表主程序</p>
<p>&nbsp;&nbsp; 组建还有两个相关属性：parent属性，指包含组件的父级对象；parentDocument属性，指组件所在的Application程序或用户组中位于层级顶部的对象。parentDocument和parent属性很容易混淆，它们有时会指向同一对象。比如在自定义一个继承Canvas的组件，叫cartCell，其中放入一个id为cart_check的CheckBox，那么这个cart_check的parent属性和parentDocument属性总代表cartCall组件本身。如果在cartCell中再创建一个名为check_holder的Canvas，将cart_check放在check_holder里面，这样cartCell中就形成了两级容器。此时cart_check的parent指向check_holder，而parentDocument仍然指向cartCell组件不变。</p>
<p><strong>2、关于dispatchEvent<br />&nbsp;&nbsp; </strong>他是Flex事件机制中的一个核心方法，用来派发事件：<br />&nbsp;&nbsp; this.parentApplication.dispatchevent(new cartEvent(data,cart_check.selected));<br />&nbsp;&nbsp; 这句代码的作用是，this.parentApplication对象（也就是Application本身），将新创建的cartEvent对象派发出去。新建的cartEvent对象还包含了两个属性，存放的必要的信息。当有对象侦听这个事件时，就可以获得这些信息</p>
<p><strong>3、熟练super()的使用环境</strong></p>
<p>&nbsp;</p>
<p>BTW：这时候的网速真快啊&hellip;&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/14/flex-study-notes-six/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记五&amp;关于FDT的和Eclipse的一点牢骚</title>
		<link>http://www.glglife.com/2008/01/12/flex-5-u0026amp-study-notes-on-fdt-and-eclipse-point-grumbling/</link>
		<comments>http://www.glglife.com/2008/01/12/flex-5-u0026amp-study-notes-on-fdt-and-eclipse-point-grumbling/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 07:20:59 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/12/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e4%ba%94%e5%85%b3%e4%ba%8efdt%e7%9a%84%e5%92%8ceclipse%e7%9a%84%e4%b8%80%e7%82%b9%e7%89%a2%e9%aa%9a/</guid>
		<description><![CDATA[1、ComboBox，重点理解DropdownEvent事件。在列表被弹出或收回时，会分别派发DropdownEvent对象的OPEN事件和CLOSE事件。对这两个时间进行监听，便可捕捉用户的动作。

2、注意，与之外的都是一个整体，而不是分开的

3、发现还有很多人不明白这个void为什么要加。这里说明一下：是为了方便不带参的function除错（debug）。例如：&#160;&#160; function testVoid():void{&#160;&#160;&#160;&#160; trace(&#34;testVoid&#34;) &#160;&#160;&#160; }&#160; 然后我testVoid(1),运行这时候程序就会出错。&#160; 函数参数为void的意思是这个函数不接受任何参数。所以，养成好习惯，只要不传参的function等，都加上void声明吧

4、Alert的show是一个静态方法，格式如下：&#160;&#160; show(text,title,flags,parent,closeHandle,iconClass,defaultButtonFlag)

<span class="readmore"><a href="http://www.glglife.com/2008/01/12/flex-5-u0026amp-study-notes-on-fdt-and-eclipse-point-grumbling/" title="Flex学习笔记五&#038;关于FDT的和Eclipse的一点牢骚">阅读全文——共2683字</a></span>]]></description>
			<content:encoded><![CDATA[<p>1、ComboBox，重点理解DropdownEvent事件。在列表被弹出或收回时，会分别派发DropdownEvent对象的OPEN事件和CLOSE事件。对这两个时间进行监听，便可捕捉用户的动作。</p>
<p>2、注意，与之外的都是一个整体，而不是分开的</p>
<p>3、发现还有很多人不明白这个void为什么要加。这里说明一下：是为了方便不带参的function除错（debug）。例如：<br />&nbsp;&nbsp; function testVoid():void{<br />&nbsp;&nbsp;&nbsp;&nbsp; trace(&quot;testVoid&quot;) <br />&nbsp;&nbsp;&nbsp; }<br />&nbsp; 然后我testVoid(1),运行这时候程序就会出错。<br />&nbsp; 函数参数为void的意思是这个函数不接受任何参数。所以，养成好习惯，只要不传参的function等，都加上void声明吧</p>
<p>4、Alert的show是一个静态方法，格式如下：<br />&nbsp;&nbsp; show(text,title,flags,parent,closeHandle,iconClass,defaultButtonFlag)</p>
<p>5、关于evt:CloseEvent，CloseEvent之后的值是在evt.detail</p>
<p>6、关于itemRender，实在不明白概念的，就理解为&ldquo;界面/组件绑定&rdquo;吧&hellip;&hellip;是，这样对真正的意思有些偏移，不过若实在对itemRender的概念混淆，也只能暂时在全部顿悟之前，先这样理解吧。这里也说说真正的意思：<br />&nbsp; 用来控制数据表现形式的机制我们称之为&ldquo;itemRender&rdquo;。用户可以定义自己的itemRenderer对象，来覆盖某些有itemRenderer对象的组件的默认属性。自定义的itemRenderer相当于一个简单的自定义组件。同样，里面可以放置其他控件来表现更加丰富的内容。<br />&nbsp; 顺便一说，这个东西相当使用，可以用来实现很多有趣的功能。<br />&nbsp; <strong>[2008.1.14附加]<br /></strong>&nbsp;&nbsp;可以作为用来作为与itemRender的组件又一个共同的特点，那就是拥有一个名为&ldquo;data&rdquo;的属性。<br />&nbsp; 当组件被用作<span>itemRenderer时，就拥有了data属性。data代表的是当前元素的数据信息，一般是Object类型，包括若干属性，data的数据格式和数据源的数据格式是一一对应的。 <br />&nbsp;&nbsp;&nbsp; itemRenderer的data是由控件主动传入的，直接使用就可以了。<br />&nbsp;&nbsp;&nbsp; 比如datagrid的数据源是books，其中每一条数据类型是book，那么itemRenderer的data也是book类型。<br /></span></p>
<p>7、关于function的函数中带事件<br />&nbsp;&nbsp; 如internal function selectHandler(evt:CloseEvbent):void{}。意思是说将事件evt:CloseEvbent的结果带入到函数中，从而供这个function进行使用。这个和我们一直理解的function一样，只是带入的东西不同罢了<br />&nbsp;&nbsp; 然后，这里是作者Email的解释（以<font color="#cc0000"><font color="#000000"><strong>bookList.addEventListener(DropdownEvent.CLOSE,chooseHandler)</strong></font><font color="#000000">为例</font></font>）：<br />&nbsp;&nbsp;&nbsp;<font color="#800000"><font color="#ff6600"><font color="#000000"> </font><font color="#cc0000"><font color="#000000"><font color="#cc0000">bookList.addEventListener(DropdownEvent.CLOSE,chooseHandler);<br />&nbsp;&nbsp;&nbsp; 这句代码的意思是添加一个事件监听器，chooseHandler是函数名。<br />&nbsp;&nbsp;&nbsp; 在使用</font></font></font><font color="#cc0000"> <font color="#000000"><font color="#cc0000">addEventListener方式添加</font></font></font><font color="#cc0000"><font color="#000000"><font color="#cc0000">事件监听函数时，该函数在定义时必须定义参数类型，也就是监听的事件类型。这样，当目标发送该事件时，会把事件作为参数传递过来，如果函数没有定义参数，也就无法接受事件传递的信息。&nbsp;</font></font></font></font></font></p>
<p><font color="#000000"><strong>作者EMAIL2：</strong></font></p>
<p><font color="#cc0000">&nbsp;&nbsp;&nbsp;&nbsp;在使用</font><font color="#cc0000"> <font color="#000000"><font color="#cc0000">addEventListener方式添加 </font></font></font><font color="#cc0000"><font color="#000000"><font color="#cc0000">事件监听函数时，该函数在定义时必须定义参数类型，也就是监听的事件类型。这样，当目标发送该事件时，会把事件作为参数传递过来，如果函数没有定义参数，也就无法接受事件传递的信息。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 比如：<br />&nbsp;&nbsp;&nbsp;&nbsp; btn.addEventListener(MouseEvent.CLICK,doClick);</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 那么，doClick函数在定义时，就必须是：doClick(event:MouseEvent)，这个参数的名字可以随便定义，但类型必须是 </font></font></font><font color="#cc0000"><font color="#000000"><font color="#cc0000">MouseEvent或者</font></font></font><font color="#cc0000"><font color="#000000"><font color="#cc0000">MouseEvent类的父类。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 事件类型的工作机制是这样的： </p>
<p>&nbsp;&nbsp;&nbsp; 1、注册事件监听器，把监听对象和监听函数记录下来，也就是把btn和doClick记录下来。<br />&nbsp;&nbsp;&nbsp; 2、当事件发生时，程序开始检查是否有对象进行了监听，如果有，这些监听函数就会被调用，调用的形式就像：obj.doClick(event)，其中obj表示添加了监听器的对象btn，也就是执行了</font></font></font><font color="#cc0000"><font color="#000000"> <font color="#cc0000">addEventListener的对象，参数event表示事件对象。因此，doClick函数必须定义准确的参数，参数类型必须是event的类型或其父类类型，否则，变量类型不对，将引发运行错误。<br /></font></font></font><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000"><br />&nbsp;&nbsp;&nbsp; <font color="#000000">如果一下子还是无法理解过来，那么就记住这点：addEventListener的是什么事件，那么在这个事件触发的自定义函数中，就要定义这个addEventListener监听的事件的事件类型。<br />&nbsp;&nbsp;&nbsp; 例子：<br />&nbsp;&nbsp;&nbsp; <strong>exp1:</strong><br />&nbsp;&nbsp;&nbsp; <font color="#cc0000">bookList.addEventListener(DropdownEvent.CLOSE,chooseHandler);</font><br /></font></font></font></font></font></font><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000">&nbsp;&nbsp;&nbsp; internal function chooseHandler(evt:DropdownEvent):void{}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<font color="#000000"><strong>exp2:<br /></strong><font color="#993300"><font color="#000000">&nbsp;&nbsp;&nbsp; </font><font color="#cc0000">btn.addEventListener(MouseEvent.CLICK,doClick);</font><br /><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000">&nbsp;&nbsp;&nbsp; internal function chooseHandler(evt:MouseEvent):void{}</font></font></font></font></font></font></font></font></font></font></font></font></p>
<p><font color="#cc0000">&nbsp;&nbsp;&nbsp; 然后就可以通过evt来调用监听事件的参数和值了。如<br />&nbsp;&nbsp;&nbsp; internal function closeHandler(evt:CloseEvent):void{<br />&nbsp;&nbsp;&nbsp;&nbsp;if(evt.detail==Alert.YES){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewLabel.text=&quot;选择的是：yes&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;viewLabel.text=&quot;选择的是：No&quot;<br />&nbsp;&nbsp;&nbsp;&nbsp;}</font></p>
<p><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000"><font color="#000000"><font color="#993300"><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000">&nbsp;&nbsp;&nbsp; <font color="#000000">可能有些朋友已经注意到了为什么后面带入的evt中没有具体的事件名？而仅仅是类的成员名？是这样，我们以MouseEvent来说<br />&nbsp;&nbsp;&nbsp; 导入的MouseEvent对象包含了所有的鼠标事件，如单击、双击、鼠标按下、鼠标松开、鼠标移动等等，这些事件名被封装成MouseEvent类的成员属性。在使用时，我们直接引用类成员名，而不需知道真正的事件名。</font></font></font></font></font></font></font></font></font></font></font></font></font><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000"><font color="#000000"><font color="#993300"><font color="#800000"><font color="#ff6600"><font color="#cc0000"><font color="#000000"><font color="#cc0000"><br /></font></font></font></font></font></font></font></font></font></font></font></font></p>
<p><font color="#800000"></font>
<p>嗯，最后，记住今天所说的：数组，push吧！</p>
<p>BWT:FDT你是个球，你是个大球，下了几百次都下不下来</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/12/flex-5-u0026amp-study-notes-on-fdt-and-eclipse-point-grumbling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记四</title>
		<link>http://www.glglife.com/2008/01/12/flex-study-notes-four/</link>
		<comments>http://www.glglife.com/2008/01/12/flex-study-notes-four/#comments</comments>
		<pubDate>Sat, 12 Jan 2008 01:25:19 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/12/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e5%9b%9b/</guid>
		<description><![CDATA[1、有人问到，在验证控件的时候，字体默认是9号的，英文还好，中文的话就模糊到一起去了。解决办法如下：

&#160;&#160; .errorTip{&#160;&#160;&#160; font-size:12;&#160;&#160; }

2、addEventListener，很重要，任何可视化组件都有这个监听方法，addEventListerner有五个参数：addEventListener(type:String,listener:Function,useCapture:Boolean=false,priority:int = 0,useWeakReference:Boolean = false)其中前两个参数最重要，分别指事件的类型和对应的执行函数名。后面的三个参数也不容忽视，一般情况下可以省略，我们先不去考虑。具体在后面说明

3、MouseEvent包含了所有鼠标事件，如单击、双击、鼠标按下、鼠标松开、鼠标移动等等。他们都被封装成MouseEvent类的成员属性。使用时，直接引用类成员名，而不需要知道真正的事件名。exp:btn.adEventListener(MouseEvent.CLICK,doClick)

<span class="readmore"><a href="http://www.glglife.com/2008/01/12/flex-study-notes-four/" title="Flex学习笔记四">阅读全文——共552字</a></span>]]></description>
			<content:encoded><![CDATA[<p>1、有人问到，在验证控件的时候，字体默认是9号的，英文还好，中文的话就模糊到一起去了。解决办法如下：</p>
<p>&nbsp;&nbsp; .errorTip{<br />&nbsp;&nbsp;&nbsp; font-size:12;<br />&nbsp;&nbsp; }</p>
<p>2、addEventListener，很重要，任何可视化组件都有这个监听方法，addEventListerner有五个参数：<br />addEventListener(type:String,listener:Function,useCapture:Boolean=false,priority:int = 0,useWeakReference:Boolean = false)<br />其中前两个参数最重要，分别指事件的<strong>类型</strong>和<strong>对应的执行函数名</strong>。后面的三个参数也不容忽视，一般情况下可以省略，我们先不去考虑。具体在后面说明</p>
<p>3、MouseEvent包含了所有鼠标事件，如单击、双击、鼠标按下、鼠标松开、鼠标移动等等。他们都被封装成MouseEvent类的成员属性。使用时，直接引用类成员名，而不需要知道真正的事件名。exp:btn.adEventListener(MouseEvent.CLICK,doClick)</p>
<p>4、从块中与mxml的其他组件互动，有些初学者还是有些许混淆。只需要记住：<br />&nbsp;&nbsp; &middot;首先定义其他标签的id<br />&nbsp;&nbsp; &middot;&middot;在中写代码块<br />&nbsp;&nbsp; &middot;&middot;&middot;在mxml的需要互动的组件中，写明动作（什么时候）=&quot;代码块名&quot;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/12/flex-study-notes-four/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记三&amp;一点其他</title>
		<link>http://www.glglife.com/2008/01/09/flex-study-notes-that-the-other-three-u0026amp/</link>
		<comments>http://www.glglife.com/2008/01/09/flex-study-notes-that-the-other-three-u0026amp/#comments</comments>
		<pubDate>Wed, 09 Jan 2008 04:53:26 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/09/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e4%b8%89%e4%b8%80%e7%82%b9%e5%85%b6%e4%bb%96/</guid>
		<description><![CDATA[今天时间有些紧迫，事情也较多，又收了一个新学生，大部分时间在写未来几个月的教案。因此只看了一些容器、组件的特性相关的文字。曾经都是直接拖过来用的（除了一些必要动态添加的地方），今天全部自己在Code下打了一次，也有些许感悟，更加深层的理解这些东西是怎么运作的

在看书的途中，和友人正好聊起容器类组件，然后说到了ViewStack，他说有些不明白有什么用。这里说一下ViewStack的理解：隐藏的Accordion，元素位置上较Accordion灵活，转换方式也不一样。初学者可以这样理解：MC的帧切换&#8230;&#8230;（呃～我知道，这样说很容易挨砖，不过这样确实比较容易理解他的本意：ViewStack由若干个容器组成，每次只有一个容器是可见或活动的。ViewStack容器不为用户提供切换前容器的界面接口，我们可以通过ActionScript来控制，或者把他和其他控制类容器联合一起使用，利用他们提供的功能来实现界面的转换）

不过&#8230;&#8230;既然继承自ViewStack的TabNavigator与ViewStack的功能一样，并且前者比后者还多了一个供用户切换内容的界面接口，那么ViewStack用来干嘛&#8230;&#8230;自定义菜单吗&#8230;&#8230;

同样的，说一下从文中理解的Tile和Grid。其实是我的一个疑问。如果真按照书上所说，若要精确控制每一行对象的个数还要计算组件的宽度和子级元素的宽度，而Tile的功能和一个1*1的Grid是一样的（呃～我是这样理解，若有勘误，还望指正）。那么Tile不是相当于没用？碰到任何需要的情况直接用Grid就行了嘛！难道Tile和Grid比较起来仅仅就是&#8220;方便&#8221;一点？

<span class="readmore"><a href="http://www.glglife.com/2008/01/09/flex-study-notes-that-the-other-three-u0026amp/" title="Flex学习笔记三&#038;一点其他">阅读全文——共955字</a></span>]]></description>
			<content:encoded><![CDATA[<p>今天时间有些紧迫，事情也较多，又收了一个新学生，大部分时间在写未来几个月的教案。因此只看了一些容器、组件的特性相关的文字。曾经都是直接拖过来用的（除了一些必要动态添加的地方），今天全部自己在Code下打了一次，也有些许感悟，更加深层的理解这些东西是怎么运作的</p>
<p>在看书的途中，和友人正好聊起容器类组件，然后说到了ViewStack，他说有些不明白有什么用。这里说一下ViewStack的理解：隐藏的Accordion，元素位置上较Accordion灵活，转换方式也不一样。<br />初学者可以这样理解：MC的帧切换&hellip;&hellip;（呃～我知道，这样说很容易挨砖，不过这样确实比较容易理解他的本意：ViewStack由若干个容器组成，每次只有一个容器是可见或活动的。ViewStack容器不为用户提供切换前容器的界面接口，我们可以通过ActionScript来控制，或者把他和其他控制类容器联合一起使用，利用他们提供的功能来实现界面的转换）</p>
<p>不过&hellip;&hellip;既然继承自ViewStack的TabNavigator与ViewStack的功能一样，并且前者比后者还多了一个供用户切换内容的界面接口，那么ViewStack用来干嘛&hellip;&hellip;自定义菜单吗&hellip;&hellip;</p>
<p>同样的，说一下从文中理解的Tile和Grid。其实是我的一个疑问。如果真按照书上所说，若要精确控制每一行对象的个数还要计算组件的宽度和子级元素的宽度，而Tile的功能和一个1*1的Grid是一样的（呃～我是这样理解，若有勘误，还望指正）。那么Tile不是相当于没用？碰到任何需要的情况直接用Grid就行了嘛！难道Tile和Grid比较起来仅仅就是&ldquo;方便&rdquo;一点？</p>
<p><strong>另外，关于一点其他的东西</strong><br />最近很多人都在问我&ldquo;面向对象（OOP）&rdquo;应该怎样理解，这个问题曾经在我刚刚接触OOP的时候也困惑过一段时间。今天本来打算写一篇比较简单易懂，特别是菜鸟们一看就知道什么是面向对象的概念的文章，可是在写好准备发布之际，突然想到报名我学习班的各位&hellip;&hellip;这样似乎对他们有些不公平了。因此还是将文章转为内部共享了&hellip;&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/09/flex-study-notes-that-the-other-three-u0026amp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记二&amp;《Flex第一步》错误汇总</title>
		<link>http://www.glglife.com/2008/01/08/study-notes-flex-2-u0026amp-u0026quotflex-first-stepu0026quot-error-summary/</link>
		<comments>http://www.glglife.com/2008/01/08/study-notes-flex-2-u0026amp-u0026quotflex-first-stepu0026quot-error-summary/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 19:30:53 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/08/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e4%ba%8c%e3%80%8aflex%e7%ac%ac%e4%b8%80%e6%ad%a5%e3%80%8b%e9%94%99%e8%af%af%e6%b1%87%e6%80%bb/</guid>
		<description><![CDATA[Flex学习笔记

12：23对初学者来说，XML/XMXL可以这样理解：标签、属性与标签、属性的环环套环环

XMXL中，是可以设置组件的长宽百分比的。而在AS中，只能设置为像素值，若要在AS中设置百分比，需要用到percentWidth和percentHeight两个属性

13：00若一开始即要执行的是一段AS，记得在头applicationComplete进去，例如：applicationComplete=&#34;initApp()&#34;当然。不仅仅是AS，一切要将程序最先运行的代码都要放在这个监听函数中

<span class="readmore"><a href="http://www.glglife.com/2008/01/08/study-notes-flex-2-u0026amp-u0026quotflex-first-stepu0026quot-error-summary/" title="Flex学习笔记二&#038;《Flex第一步》错误汇总">阅读全文——共2732字</a></span>]]></description>
			<content:encoded><![CDATA[<h2><font face="'黑体', sans-serif" size="5"><font color="#ff0000">Flex学习笔记</font></font></h2>
<p><font face="'宋体', sans-serif" size="2"><strong>12：23<br /></strong>对初学者来说，XML/XMXL可以这样理解：标签、属性与标签、属性的环环套环环</font></p>
<p><font face="'宋体', sans-serif" size="2">XMXL中，是可以设置组件的长宽百分比的。而在AS中，只能设置为像素值，若要在AS中设置百分比，需要用到percentWidth和percentHeight两个属性</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>13：00</strong><br />若一开始即要执行的是一段AS，记得在头applicationComplete进去，例如：applicationComplete=&quot;initApp()&quot;<br />当然。不仅仅是AS，一切要将程序最先运行的代码都要放在这个监听函数中</font></p>
<p><font face="'宋体', sans-serif" size="2">&ldquo;一切皆是对象&rdquo;你可以这样理解：首先脑袋中构思一副图，然后将一块块小的拼图块分工画好，之后用addChild之类的方法将他们丢到舞台上去，并拼接在一起，成为你脑袋中构思的那幅图。这里有个例子可以帮你理解这段话<br />intelnal function initApp():void{<br />&nbsp;&nbsp;&nbsp; //创建一个新的Panel的实例，这里，虽然创建了Panel这个对象，单仅仅是被创建了，并不会马上显示出来，直到调用了addChild，才将这个对象添加到容器中，从而对象被绘制，出现在显示层<br />&nbsp;&nbsp;&nbsp; var win:Panel = new Panel();<br />&nbsp;&nbsp;&nbsp; //设置组件的位置<br />&nbsp;&nbsp;&nbsp; win.x = 20;<br />&nbsp;&nbsp;&nbsp; win.y = 20;<br />&nbsp;&nbsp;&nbsp; //将该实例添加到程序容器中并显示<br />&nbsp;&nbsp;&nbsp; addChild(win);<br />}</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>13：15<br /></strong>关于import，曾经一直有点让我很是迷惑，也问讯过不少人：到底怎么判断什么情况下import什么包？而几乎所有人给我的答案几乎都是：用什么import什么。当然，这点我一直知道，所以当时很是不明白&ldquo;怎么判断我要用什么&rdquo;这个问题，因此关于import的包一直都是*，导致程序臃肿的可以。今天看了44～45页的EXP，瞬间明白了这个让我迷惑已久的import判断，其实之前所有人给我的回答都是正确的，也是不可再细分的回答-用什么就import什么。呃～是的，如果你现在有和我曾经一样的疑问，我现在也只能这样回答你-用什么就import什么&hellip;&hellip;当然。若要综合理解，我想35页的容器层级关系表给我了很大的帮助。可是在这个功能限制诸多的Blog上就不怎么方便画出，并上传那个表了&#8230;见谅<br />自此，&ldquo;一切皆对象&rdquo;这句话的意思，更加深刻的明白了一层。如果要用一个词来概括这一层，那么就是：附加/帖附。一个变量/常量与一个类/函数/包的附加/帖附</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>16：50<br /></strong>在看《Flex第一步》的时候，对于一个AS3的BUTTON的问题有些不明白，回头翻看《AS3殿堂之路》的目录时，一些以前所不容易理解的东西竟然都在《AS3殿堂之路》的后半部分，实在让人激动。现在想想，这两本书实在是天作之合的极品天书配对。买的太值了<br />另，关于ActionScript3 Cookbook，昨天在出版社网站上付款邮购了，今天确认状态，竟然告诉我这书还没印出！网页上面是预售！问什么时候能出来，答案竟是&hellip;&hellip;不明&hellip;&hellip;我喷血哦～～早知道在淘宝上多花十几块钱买了算了！不过&hellip;&hellip;问题在这里，出版社自己的库房都没有印出来的书，那些淘宝商家怎么会拿到了？而且还是正版？</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>16：57</strong><br />暂时放下《AS3殿堂之路》，待看完《FLEX第一步》后续章节继续<br />（PS：感叹，冲动之下买的即时贴这段时间使用率大增，难道真的一切冥冥中自有天意？）</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>18：32</strong><br />自定义组件中，creationComplete为程序初始化后的触发事件。通常我们将程序运行前的准备工作卸载此事件的监听中（类似于Application的applicationComplete，使用方法也一样）</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>18：52<br /></strong>今天到此为止，先消化一下<br />备注：P35为FLEX容器层级关系表</font></p>
<p><font face="'宋体', sans-serif" size="2"><strong>20:21</strong><br />自定义组件就包含在自身的标签中，不要重定义</font></p>
<h2><font face="'黑体', sans-serif" size="5" color="#ff0000">《Flex第一步》错误汇总</font></h2>
<p>&nbsp;</p>
<h2><font color="#800000">比较严重错误(一般知识性错误)</font></h2>
<p><strong><strong>
<p><strong>第41页</strong><br />4.1.3节的最后一段，介绍DividedBox的属性liveDragging时，原文：&ldquo;<font color="#339966">当为true时，表示在拖动分割块时，分割块附近的元素只在鼠标松开时才调整位置；如果为false，则在拖动时就会不断的调整位置。</font>&rdquo; 写反了，应该是：&ldquo;<font color="#ff0000">当为false时，表示在拖动分割块时，分割块附近的元素只在鼠标松开时才调整位置；如果为true，则在拖动时就会不断的调整位置。</font>&rdquo;</p>
<p><strong>第91页</strong><br />代码错误，原文：<br />　　 <br />　　private var mXML:XMLList = <br />　　 <font color="#339966">&lt;menu&gt; <br /></font>　　 &lt;item label=&quot;文件&quot;&gt; <br />　　 &lt;node label=&quot;新建画板&quot; data=&quot;new&quot;/&gt; <br />　　 &lt;node label=&quot;清除画板&quot; data=&quot;clear&quot; enabled=&quot;false&quot;/&gt; <br />　　 &lt;node type=&quot;separator&quot; /&gt; <br />　　 &lt;node label=&quot;退出系统&quot; data=&quot;logout&quot;/&gt; <br />　　 &lt;/item&gt; <br />　　 &lt;item label=&quot;帮助&quot;&gt; <br />　　 &lt;node label=&quot;帮助&quot; data=&quot;help&quot;/&gt; <br />　　 &lt;node label=&quot;关于作者&quot; data=&quot;about&quot;/&gt; <br />　　 &lt;/item&gt; <br />　　 <font color="#339966">&lt;/menu&gt;; <br /></font>　　 <br />　　这里的根节点应该留空，正确的代码： </p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; private var mXML:XMLList = <br />　　 <font color="#ff0000">&lt;&gt; <br /></font>　　 &lt;item label=&quot;文件&quot;&gt; <br />　　 &lt;node label=&quot;新建画板&quot; data=&quot;new&quot;/&gt; <br />　　 &lt;node label=&quot;清除画板&quot; data=&quot;clear&quot; enabled=&quot;false&quot;/&gt; <br />　　 &lt;node type=&quot;separator&quot; /&gt; <br />　　 &lt;node label=&quot;退出系统&quot; data=&quot;logout&quot;/&gt; <br />　　 &lt;/item&gt; <br />　　 &lt;item label=&quot;帮助&quot;&gt; <br />　　 &lt;node label=&quot;帮助&quot; data=&quot;help&quot;/&gt; <br />　　 &lt;node label=&quot;关于作者&quot; data=&quot;about&quot;/&gt; <br />　　 &lt;/item&gt; <br />　　<font color="#ff0000"> &lt;/&gt;; <br /></font></p>
<p></strong></strong><br />
<h2><font color="#800000">一般错误（笔误）</font></h2>
<p><font size="2"><strong><font size="2"><strong><font size="2"><strong><font size="2"><strong>
<p><font size="2"><strong>第63页</strong><br /></font><font size="2" color="#339966">&lt;mx:buttonbar id=&quot;Btns&quot; &hellip; &gt;</font><font size="2"><font color="#339966"> </font>应该为 </font><font size="2" color="#ff0000">&lt;mx:buttonbar id=&quot;btns&quot; &hellip;&gt;</font></p>
<p><font size="2"><strong>第191页</strong><br /></font><font size="2">第一段第一行 <font color="#339966">&ldquo;</font><font color="#339966">建立了如图8.2所示的视图结构&rdquo;</font> 应该为 <font color="#ff0000">如图8.3所示</font> </font></p>
<p><font size="2"><strong>第317页<br /></strong>本页的倒数第八行代码里有一个标签为<font color="#339966">&quot;&lt;/mx:c&gt;&quot;</font>&nbsp; 应该为 <font color="#ff0000">&quot;&lt;mx:WebService&gt;&quot;</font></font></p>
<p><font size="2"><strong>第320页</strong><br /></font><font size="2">中间一段： <font color="#339966">&ldquo;另外，为了提供PHP的运行效率&hellip;&rdquo;</font> 应该为 <font color="#ff0000">&ldquo;另外，为了提高PHP的运行效率&hellip;&rdquo;</font></font></p>
<p></strong></font></strong></font></strong></font></strong></font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/08/study-notes-flex-2-u0026amp-u0026quotflex-first-stepu0026quot-error-summary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex学习笔记一</title>
		<link>http://www.glglife.com/2008/01/07/flex-study-notes-a/</link>
		<comments>http://www.glglife.com/2008/01/07/flex-study-notes-a/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 01:36:02 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2008/01/07/flex%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%e4%b8%80/</guid>
		<description><![CDATA[今天《Flex第一步》到了，初略看了一下，虽然大部分都明白，不过我深知自己的基础不慎牢靠，而一些很低级的错误也就栽倒在这些初级问题上。于今天开始做个学习笔记，以做备忘

今天进程：仔细研读1～3章节内容。分别为：Flex简介、Flex的安装和开发环境建立、Mxml语言简介

要点&#38;备忘&#38;进度：1、Flex Builder Plug-in And Flex SDK为Eclipse框架插件运行，Eclipse下载地址：www.eclipse.org2、创建一个Flex Project，并按照规范代码格式和习惯写一个Helloworld。&#160;&#160;&#160;&#160;-一个Button&#160;&#160;&#160; -一个Label&#160;&#160;&#160; -点击Button改变Label的text3、MXML文件结构&#160;&#160;&#160;&#160;-mx:Application:特殊标签，每个Flex项目中，可能有多个MXML，但作为程序入口的运行文件只有一个，主文件标示是根节点为mx:Application，一个程序中只能出现一个mx:Application节点。&#160;&#160;&#160; -命名空间（概念仍需强化）4、自定义MXML组件（P27），注意：任何元素最好使用相对路径（当然，远程引用的除外，这里指一个项目中的元素），否则会出现一些稀奇古怪的错误5、MXML中使用ActionScript&#160;&#160;&#160; -方式一：在组件的时间属性中使用ActionScript来处理事件&#160;&#160;&#160; -方式二：在MXML文件中插入ActionScript块6、创建外部ActionScript文件&#160;&#160;&#160;&#160;-7、创建ActionScript类文件&#160;&#160;&#160; -新建一个ActionScript Class&#160;&#160;&#160; -在CDATA内直接引用，并在头中用applicationComplete将时间处理交给initApp()&#160;&#160;&#160; EXP（Test.as）：&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; internal function initApp():void{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var myTest:Test = new Test()&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;]]&#62;&#160;&#160;&#160; 8、编辑非可视化对象&#160;&#160;&#160; -简历一个数组和一个XML对象，并将他们分别显示在一个List和一个Tree中&#160;&#160;&#160; -注意：XML标签的label属性的缺失

<span class="readmore"><a href="http://www.glglife.com/2008/01/07/flex-study-notes-a/" title="Flex学习笔记一">阅读全文——共995字</a></span>]]></description>
			<content:encoded><![CDATA[<p>今天《Flex第一步》到了，初略看了一下，虽然大部分都明白，不过我深知自己的基础不慎牢靠，而一些很低级的错误也就栽倒在这些初级问题上。于今天开始做个学习笔记，以做备忘</p>
<p><strong>今天进程：</strong><br />仔细研读1～3章节内容。分别为：Flex简介、Flex的安装和开发环境建立、Mxml语言简介</p>
<p><strong>要点&amp;备忘&amp;进度：</strong><br />1、Flex Builder Plug-in And Flex SDK为Eclipse框架插件运行，Eclipse下载地址：<a href="http://www.eclipse.org/" onclick="pageTracker._trackPageview('/outgoing/www.eclipse.org/?referer=');">www.eclipse.org</a><br />2、创建一个Flex Project，并按照规范代码格式和习惯写一个Helloworld。<br />&nbsp;&nbsp;&nbsp;&nbsp;-一个Button<br />&nbsp;&nbsp;&nbsp; -一个Label<br />&nbsp;&nbsp;&nbsp; -点击Button改变Label的text<br />3、MXML文件结构<br />&nbsp;&nbsp;&nbsp;&nbsp;-mx:Application:特殊标签，每个Flex项目中，可能有多个MXML，但作为程序入口的运行文件只有一个，主文件标示是根节点为mx:Application，一个程序中只能出现一个mx:Application节点。<br />&nbsp;&nbsp;&nbsp; -命名空间（概念仍需强化）<br />4、自定义MXML组件（P27），注意：任何元素最好使用相对路径（当然，远程引用的除外，这里指一个项目中的元素），否则会出现一些稀奇古怪的错误<br />5、MXML中使用ActionScript<br />&nbsp;&nbsp;&nbsp; -方式一：在组件的时间属性中使用ActionScript来处理事件<br />&nbsp;&nbsp;&nbsp; -方式二：在MXML文件中插入ActionScript块<br />6、创建外部ActionScript文件<br />&nbsp;&nbsp;&nbsp;&nbsp;-<br />7、创建ActionScript类文件<br />&nbsp;&nbsp;&nbsp; -新建一个ActionScript Class<br />&nbsp;&nbsp;&nbsp; -在CDATA内直接引用，并在头中用applicationComplete将时间处理交给initApp()<br />&nbsp;&nbsp;&nbsp; EXP（Test.as）：<br />&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <!--DATA[<-->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; internal function initApp():void{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var myTest:Test = new Test()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]]&gt;<br />&nbsp;&nbsp;&nbsp; <br />8、编辑非可视化对象<br />&nbsp;&nbsp;&nbsp; -简历一个数组和一个XML对象，并将他们分别显示在一个List和一个Tree中<br />&nbsp;&nbsp;&nbsp; -注意：XML标签的label属性的缺失
<p><strong>PS：ActionScript3 Cookbook的简体中文版原来已经发行了&hellip;&hellip;今天才知道，已经去电子工业邮购了一本，期待早点到。之前看了一点电子书（扫描版&hellip;&hellip;），发现确实是经典之作，实在是一本适合放在桌面上随时翻阅的宝典。Cookbook系列盛名不负啊～</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2008/01/07/flex-study-notes-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flex builder 2编译时下正常的flash9.ocx的问题解决</title>
		<link>http://www.glglife.com/2007/09/29/flex-builder-2-to-compile-current-flash9ocx-normal-problem-solving/</link>
		<comments>http://www.glglife.com/2007/09/29/flex-builder-2-to-compile-current-flash9ocx-normal-problem-solving/#comments</comments>
		<pubDate>Sat, 29 Sep 2007 14:50:12 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[flash9.ocx]]></category>
		<category><![CDATA[RIA]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2007/09/29/flex-builder-2%e7%bc%96%e8%af%91%e6%97%b6%e4%b8%8b%e6%ad%a3%e5%b8%b8%e7%9a%84flash9ocx%e7%9a%84%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3/</guid>
		<description><![CDATA[<a href="http://www.glglife.com/2007/09/29/flex-builder-2-to-compile-current-flash9ocx-normal-problem-solving/"><img align="right" hspace="5" width="50" src="http://www.adobe.com/images/icons/download.gif" class="alignright wp-post-image tfe" alt="" title="" /></a>flex builder 2编译时下正常的flash9.ocx的问题解决前些天了解到flash9的安装占有已达近于40%了,所以想抽些...]]></description>
			<content:encoded><![CDATA[<div id="text1" class="javascript" style="overflow: hidden; word-break: break-all; word-wrap: break-word">flex builder 2编译时下正常的flash9.ocx的问题解决<br />前些天了解到flash9的安装占有已达近于40%了,所以想抽些时间多接触一下AS3.0,之前使用的多为flex 2 sdk, 但并不是舒服,所以想选择一种编程调试环境,经过比较一种是flashdevelop.org的flashdevelop 另一种就是flashbuilder2 ,尽管看上去flashdevelop看上去要比简洁一些,但要想让As3.0很顺畅的运行起来,是要安装些东西,并需要进行一些配置, 最终选择了flex builder 2. flexbuilder 2 用来编译as3.0也还算方便,感觉不舒服的是每次编译都会弹出一个浏览器窗口,然后关掉再调试,显得稍微有些麻烦.<br />之前使用flex builder2 beta版本时并没有发现什么问题,但此次重新下载了flex build2 版本,在编译测试时确出现了一些问题. 当编译时就会出现如下问题:</p>
<p>Installed Flash Player is Not a Debugger. Flex Builder cannot locate the required debug version of the Flash Player. You may need to install the debug version of the Flash Player 9.0 or reinstall Flex Builder. Do you want to try to debug with the current version?&quot;</p>
<p>后来才知道,原来是之前在使用flex builder2 beta版本时用的是flashplayer 9.015.<br />经过2个时间的折腾,后来终于还是在官方网站上找到了方法,也知道原先使用flashplayer 9.015没问题,现在我们都升级到9.028了就用问题了.因为如果在flex2上运行debuger时,需要调试版本的flashplayer.如果你已经安装了正常版本的flashplayer 9.08.在安装flashbuilder2 后它并不会自动安装flash player的debuger版本.<br />来自官方的解决方法:<a href="http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=758bf58b" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.adobe.com/cfusion/knowledgebase/index.cfm?id=758bf58b&amp;referer=');"><font color="#003399">http://www.adobe.com/cfusion/knowle&#8230;cfm?id=758bf58b</font></a><br />大致的思路如下:<br />1. 打开flexbuilder 2. 选择窗口菜单然后是Preferences,选择General,展开它,选择web browser.选中use external web browser. 如果你的是ie就选下面的internet explorer. 完后确认.<br />2. 确认一下你是否已安装了具有调试功能的flashplayer9 <br /><a href="http://www.adobe.com/products/flash/about/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.adobe.com/products/flash/about/?referer=');"><font color="#0000ff">www.adobe.com/products/flash/about/</font></a> <br />3.如果右击影片显示的右键菜单中有调试器字样说明你已经安装了,如果没有调试器,或是你的版本较低,你可以去这里下载新的有调试功能的flashplayer 9.028.<br /><a href="http://download.macromedia.com/pub/flashplayer/updaters/9/flashplayer_9_ax_debug.exe" target="_blank" onclick="pageTracker._trackPageview('/outgoing/download.macromedia.com/pub/flashplayer/updaters/9/flashplayer_9_ax_debug.exe?referer=');"><img src="http://www.adobe.com/images/icons/download.gif" onmouseover="if(this.alt) this.style.cursor='hand';" border="0" alt="" /><font color="#800080">Download the Windows Flash Player 9 ActiveX control content debugger (for IE)</font></a> (EXE, 1.22 MB) </p>
<p><a href="http://download.macromedia.com/pub/flashplayer/updaters/9/flashplayer_9_plugin_debug.exe" target="_blank" onclick="pageTracker._trackPageview('/outgoing/download.macromedia.com/pub/flashplayer/updaters/9/flashplayer_9_plugin_debug.exe?referer=');"><img src="http://www.adobe.com/images/icons/download.gif" onmouseover="if(this.alt) this.style.cursor='hand';" border="0" alt="" /><font color="#0000ff">Download the Windows Flash Player 9 Plugin content debugger (for Netscape-compatible browsers)</font></a> (EXE, 1.47 MB) <br />第二个链接是针对与netscape兼容的firefox浏览器的.<br />ok.安装完后,你就有了可以在flex builder 2 中调试的flashplayer 9.028播放器了.同时你可以正常的在flexbuiler2 中调试了.</div>
<p><!-- / message --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2007/09/29/flex-builder-2-to-compile-current-flash9ocx-normal-problem-solving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>开始学习FLEX</title>
		<link>http://www.glglife.com/2006/11/17/started-learning-flex/</link>
		<comments>http://www.glglife.com/2006/11/17/started-learning-flex/#comments</comments>
		<pubDate>Fri, 17 Nov 2006 00:08:26 +0000</pubDate>
		<dc:creator>柳世杀神·GabrielGon</dc:creator>
				<category><![CDATA[FLEX]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://www.glglife.com/2006/11/17/%e5%bc%80%e5%a7%8b%e5%ad%a6%e4%b9%a0flex/</guid>
		<description><![CDATA[虽然以前就一直在接触，不过一直都没有太大的激情和太多的时间。虽然现在我还是希望一天能有48乃至72个小时...]]></description>
			<content:encoded><![CDATA[<p>虽然以前就一直在接触，不过一直都没有太大的激情和太多的时间。虽然现在我还是希望一天能有48乃至72个小时，可是激情却有了。于是从今天开始认真的学FLEX。</p>
<p>早先就在电驴上面下了FLEX1.5、FLEX Builder1.5和Tomcat，安装之后，去GOOGLE搜索一些FLEX相关资料时，发现安装错了，有些组建没有安装上去。虽然这些东西对一个初学者来说没有什么，不过我有些完美主义，不看到还好，看到了总感觉少了些什么，于是全部删除重新来过（后来才知道只用删了FLEX1.5重新安装就好了……）</p>
<p>然后去Blueidea上看了一篇初级教程，按照里面所说写了第一个Flex的程序－一个咖啡售卖程序，感觉还不错，开始庆幸我的AS底子。</p>
<p>然后在List的Remove这里遇到了问题，按下F1的官方Guide实在是太吃资源了，查了半天（主要是卡了半天）看到一个移除所有的，不过我要的是移除一条的……</p>
<p>于是又祭起了GOOGLE，结果我能想到的关键字都搜索遍了，如List 删除、List Remove、List addItem等等等等，都没有找到我所需要的结果，不过却在这期间让我找到了FLEX2.0的消息……汗，我前面说了，我有些完美主义，用东西就想用最新的，当然这个也主要考虑到对以后的应用问题，毕竟FLEX1.5是Macromedia的产物了，而Macromedia现在已经不存在的，在的只有Adobe，而FLEX2.0则是Adobe的产物，不管以后的FLEX3、4、5、6……都是他的（当然，不排除Adobe被其它工资－如微软－收购的可能），因此不管是后续支持还是以后的网络应用，都应该是FLEX2的支持性强过FLEX1.5，并且早有耳闻Macromedia的FLEX问题多多，基于种种考虑，我又开始步上寻找FLEX1.5/FLEX BUILDER2.0之路……</p>
<p>互联网的特性之一是资源共享的速度，GOOGLE搜一下，马上出来一堆下载点，嗯……我先不知道在哪个BLOG下了一个FLEX2，然后试了半天网上公开的序列号都不能用，我就郁闷了，心想这2.0和1.5就是不同啊，难道连序列号验证都采取网络验证方式了？断开网线试了半天，未果。想想可能是第一次输入错误SN之后，进行了网络验证，然后就在机器上面彻底禁止这个SN了，本着盗版是无敌的这个想法我又开始去网上搜索新的SN……</p>
<p>不过这次令我的盗版无敌论产生了严重的动摇－整个Intelnet竟然只有这一个SN（国内、国外、GOOGLE、CRACKAM等等等等大型搜索、破解搜索、Crack站都横扫了一次之后的结论）！在我正在沮丧自己运气衰到极点的时候，无意间打开了一个帖子，是Adobe对FLEX版本的定价。看了看价格从2××美刀到20000美刀的都有，大约有5、6个版本，看了看分得挺仔细的，最贵的版本是Server Database，忽然想起来我那个文件后面似乎跟着什么，跑过去一看，果不其然－SDB2，应该就是Server Database了吧……放这个的BLOG竟然是给的Server Database的下载连接，却放出普通的SN……</p>
<p>然后继续GOOGLE Server Database的SN，直到看到一帖子说“Server Database到现在还没有泄漏的SN”为止。然后又去找普通的FLEX2（事后证明这一步，乃至之前的几步都是在浪费时间），这个好找，GOOGLE一下就出了一堆（我怎么就这么差火第一次下竟然好点不点偏偏点上这个放错的BLOG？也许这就是天将降大任于斯人也，必先苦其心智、劳其筋骨吧，想到这心里舒畅了许多，也许以后中国Flex界就靠我来崛起了。瓦卡卡～开个玩笑，别砸我），下好了之后，发现这个东西我早在之前就下过了，没想到FLEX2.0竟然把Flex和Flex Builder2合一起了……我还以为我先下的仅仅是Flex Builder呢……</p>
<p>至此，已经安装好了，看了看界面和1.5大有不同，听说语法和函数有些方面也是AS3的写法，天……AS3我还没有接触过呢……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.glglife.com/2006/11/17/started-learning-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
