《Flex第一步》错误汇总更新 — 错误更正

         在第二次印刷时,修正了第一版的诸多错误,补充了一些遗漏的说明,内容如下:
  
  1. P22页,最后一行,将“source/Chapter_2”修改为“源文件/Chapter_2”。
  
  2. P33页,页面中部,原文“这等同于下面的ActionScript代码:<mx:Script>….</mx:Script>”,修改并添加为:
  
  这等同于下面的ActionScript代码:
  
  <mx:Script>
  
     <![CDATA[
  
  //注意这里在数组定义语句上添加了一个标记符号[Bindable]
  
  [Bindable]
  
  public var array_data:Array=new Array(”Flex developer”,”Flash developer”,”Web developer”,”Mobile developer”);
  
     ]]>
  
  </mx:Script>
  
  其中的变量名和上面MXML代码中Array标签的id属性值相同。
  
  这里添加的“[Bindable]”是元数据标签。元数据标签是一种特殊的标签,它只能在ActionScript中使用,通过约定的特殊标记,告诉编译器如何编译程序,也就是如何生成SWF文件。元数据标签都是以封闭的中括号来表现,后面遇到的“[Embed]”、“[Event]”等也都属于元数据标签。
  
  [Bindable]标签用来定义数据绑定的数据源,有关数据绑定的知识请参阅第9章。元数据语句作用于 ActionScript 文件的下一行,比如这里的“[Bindable]”作用于下一行的array_data数组,使得这个数组可以用于数据绑定。
  
  之所以要添加这一个标签,是因为使用<mx:Array>标签定义数组时,编译器已经自动完成了这些工作。
  
  用标签创建的数组和其他………………
  
  
  3. P41页,4.1.3节最后一段,介绍DividedBox的属性liveDragging时
  
  原文:“当为true时,表示在拖动分割块时,分割块附近的元素只在鼠标松开时才调整位置;如果为false,则在拖动时就会不断的调整位置。”
  
  写反了,应该是:“当为false时,表示在拖动分割块时,分割块附近的元素只在鼠标松开时才调整位置;如果为true,则在拖动时就会不断的调整位置。”
  
  4. 在书中有几处地方,源代码中“applicationComplete”在排版时被拆开,遇到换行时中间插入了连词符,这样对那些按照书上内容敲代码的新手会产生误导,最好不要分开,删除连词符。
  
  在第32、43、65、67页都有这种情况。
  
  5. P63页,页面中间位置,在源代码中,一个笔误:
  
  <mx:buttonbar id=”Btns” … > 应该为 <mx:buttonbar id=”btns” … >
  
  6. P66页,第三段后半部分。
  
  原文:这个功能相当实用,利用它可以实现很多有趣的功能。List组件的内容不再局限于文字,还可以显示图片及其他的内容。可以用来作为与itemRenderer的组件有一个共同的特点,那就是拥有一个名为“data”的属性。
  
  修改为:这个功能相当实用,这意味着List组件的内容不再局限于文字,还可以显示图片,或其它更加自由灵活的表现形式。可以用来当作itemRenderer的组件有一个共同的特点:拥有一个名为“data”的属性。每一条数据都对应一个itemRenderer实例对象,itemRenderer对象通过data属性来读取数据,这个数据传递的动作是由List组件完成的。所有的容器类控件都可以作为itemRenderer。通过扩展任一容器类控件,我们可以轻松实现个性化的List组件。
  
  7. P77页,倒数第四行,注释中,“evt.target”应该是“event.target”
  
  8. P91页,页面底部,源代码错误。原文如下:
  
  private var mXML:XMLList =
  
  <menu>
  
  <item label=”文件”>
  
  <node label=”新建画板” data=”new”/>
  
  <node label=”清除画板” data=”clear” enabled=”false”/>
  
  <node type=”separator” />
  
  <node label=”退出系统” data=”logout”/>
  
  </item>
  
  <item label=”帮助”>
  
  <node label=”帮助” data=”help”/>
  
  <node label=”关于作者” data=”about”/>
  
  </item>
  
  </menu>;
  
  这里的根节点应该留空,将上面粗体标示的“menu”删除,即将<menu>修改为<>,将</menu>修改为</>,正确的代码如下:
  
  private var mXML:XMLList =
  
  < >
  
  <item label=”文件”>
  
  <node label=”新建画板” data=”new”/>
  
  <node label=”清除画板” data=”clear” enabled=”false”/>
  
  <node type=”separator” />
  
  <node label=”退出系统” data=”logout”/>
  
  </item>
  
  <item label=”帮助”>
  
  <node label=”帮助” data=”help”/>
  
  <node label=”关于作者” data=”about”/>
  
  </item>
  
  </ >;
  
  9. P125页,第13、14行重复:
  
  import mx.effects.Resize;
  
  import mx.events.TweenEvent;
  
  
  
  10. P129页,第6行:
  
  <mx:Parallel id=”Effect_1” target=”{[Canvas1,Canvas2]}” ….>
  
  应是:<mx:Parallel id=”Effect_1” targets=”{[Canvas1,Canvas2]}” …>
  
  
  
  11. P191页,第一段第一行,原文“建立了如图8.2所示的视图结构”图标错误,应该是“图8.3”。
  
  
  
  12. P222页,页面中下位置,原文:“hose:数据源对象”应该是“host:数据源对象”
  
  
  
  13. P317页,倒数第八行代码里有一个标签“</mx:c>”应该为“</mx:WebService>”
  
  
  
  14. P335页
  
  第2段
  
  原文:destination节点中标示出了服务器远程对象的访问路径,当文件中有多个destination时,必须保证每个节点的id属性值是唯一的。最重要的是一定要把endpoint节点的uri属性修改为自己机器上AMFPHP的网关路径,
  
  
  修改为:destination节点描述了Remoting服务端访问入口的信息,当文件中有多个destination时,必须保证每个节点的id属性值是唯一的。destination节点中的channels节点和后面的channels节点,存在对应关系,其中<channel ref=”my-amfphp”/>和<channel-definition id=”my-amfphp”这两处,“my-amfphp”把这两个联系起来,一起描述了服务器端的具体路径。这里最重要的,一定要把endpoint节点的uri属性修改为服务器上AMFPHP的网关路径
  
  第4段
  
  原文:services_configXML文件描述了远程服务的配置信息,供Flex识别服务器信息。
  
  修改为:services_config.xml文件描述了远程服务的配置信息,供Flex识别服务器信息。
  
  P337页,第12.4.5节,在最后一段前面添加一段:
  注意:在实际开发中,我们一般都是在本地机器上调试好程序,再上传到服务器上,这时候,需要修改services_config.xml中AMFPHP的网关地址。services_config.xml文件变更,必须重新编译程序,否则没有作用。
  
  
  
  15. P125页,页面中下部分,源代码处:
  
  newResize.widthBy = 20;
  
  不是20应该是40。
  
  16. P128页,倒数第三段最后部分
  
  原文:如果声音时长比duration要短,声音文件播放完后,就会停止。
  
  应该是:如果声音时长比duration要长,声音文件播放完后,就会停止。
  
  —————————————————————————————————————————————
  
  源代码修正:
  
  1. 源代码/Chapter_4/PanelExample3/PanelExample3.mxml:
  
  删除:import mx.managers.PopUpManagerChildList;
  
  
  
  2. 源代码/Chapter_16/FlexVoteSystemV1/FlexVoteSystemV1.mxml:
  
  
  
  将第228行~第247行删除,即将getUserIPAddResult()和LaterSendUserIPFromVote()这两个函数删除
  
  
  3、 源代码/Chapter_8/ EventExample_1/ EventExample_1.mxml:
  
  第十三行,将:
  
  btn_2.addEventListener(MouseEvent.CLICK,pressBtn);
  
  修改为:
  
  btn_2.addEventListener(MouseEvent.CLICK,pressBtn,true);
  
  书稿中是正确的,只修改源文件即可。 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值