This page lists unconfirmed errors and comments from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Flex 3 Cookbook, 1e by Joshua Noble, Todd Anderson The catalog page for this title is http://www.oreilly.com/catalog/9780596529857/ This page was last updated August 1, 2008. If you have technical questions or error reports, you can send them to booktech@oreilly.com. Please specify the printing date of your copy or the digital version accessed. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem UNCONFIRMED errors and comments from readers: [33]First sentence under the Discussion heading; The first sentence starts: "To define an optional method or multiple optional methods for a method," This should be: "To define an optional parameter or multiple optional parameters for a method," (69)1st paragraph; I am trying to dynamically delete a component. The code: removeChild(this.childId); doesn't work for me. The correct format seems to be this.removeChild(DisplayObject) The Id of the UIComponent, childId, is presumably a string value, and the removeChild function won't take a string. What I came up with, after a bit of head scratching for a better way is: while(k < this.numChildren) { var t:UIComponent = getChildAt(k) as UIComponent; var name:String = t.id; if(name == "lbl") { this.removeChild(t); } k++; } [129]mxml code line 23 (or thereabouts); Recipe 4.13 - Applying embedded fonts in designated text within the tag does not work, ie: Using the new font ]]> The text "Using the new font" does not apply the embedded font; instead uses system font. Tested in Flex Builder 3. Also, tried replacing family="DIN" to face="DIN" but to no avail. I should note that the font embedded just fine in the .embeddedFontStyle style (line 8). {170}Recipe 6.5 Custom Headers for advanced datagrid; Not sure is this would constitute an error but more lack of in-depth explanation. I wanted to make an advanced data grid header renderer; I had made one identical for the normal datagrid under flex 2. The data I want to display is boolean, the labels are much bigger than the data. So I created a label and rotated 90 degrees, so simple under datagrid, but with advanced datagrid due to the multi column sort the labels appear in the sort box not the header. I want the vertical labels in the header and the normal sort arrow to show. I know I need to call AdvancedDataGridSortItemRenderer class, but not sure How to do this. So your code works for non sortable columns, but I would like you to embellish the code. [195]middle of code chunk; The code references a dataProvider="{DataHolder.genericCollectionOne}" which doesn't seem to be referenced anywhere. What's this DataHolder? I think it should be included in the code examples. [201]example code; The example code states the Flex 3 VBox component makes use of the implements attribute it does not. [211]Code listing; The line public class CenteredCheckBoxHeaderRenderer extends CenteredCheckBox should read public class CenteredCheckBoxHeaderRenderer extends CheckBox {215} 7.9, SevenSixRenderer class, top of page; It should actually be changed from this: var _imgClass:Class = UIComponent(owner).document[ listData.label]; to this: _imgClass = UIComponent(owner).document[ listData.label]; as the _imgClass variable has already been declared at the top of the class. [243]Example code, code line 9; the line public var mic:Microphone; gives a compilation error: Error: constructor functions must be instance methods. I don't yet know how to correct this so if the authors know, would appreciate a line. {11.13.3}towards the bottom; Chapter 11.13.3 error In the Discussion section of this chapter, after the : -AddChild -RemoveChild -SetEventHandler -SetProperty -SetStyle there is this reference/tip: (For more information on the IOverride interface, see Recipe 11.15.) That probably should be ...see Recipe 11.14.) since there is no 11.15! {393}second code block; There is this code: private function findState():void { var sort:Sort = new Sort(); sort.fields = [new SortField("state")]; coll.sort = sort; coll.refresh(); cursor.findFirst({region:stateInput.text}); } should be: private function findState():void { var sort:Sort = new Sort(); sort.fields = [new SortField("state")]; coll.sort = sort; coll.refresh(); cursor.findFirst({state:stateInput.text}); } (459)bottom; At the bottom of the page is the following PHP code snippet: