No project of this size can be completely without errors and this is no exception. It's sort of like writing a 300,000 word Visual Basic program without the benefit of a compiler to check your spelling and grammar. This page describes some improvements to the example programs and the mistakes found so far.
If you find other errors, please let me know.
Most of these are typos that are more annoying than confusing.
Page | Details |
23 | Henry O'Mara noticed that the code uses MsgBox instead of MessageBox.Show. MsgBox still works and I have nothing against using older Visual Basic Classic statements when they're easier. For example, the Left function is a lot easier to use than Substring for getting the first part of a string.
But I usually use MessageBox.Show and should have here.
|
26 | Yoel Yaron noticed that the code in bottom shaded block of code should say "Option Infer Off" rather than "Option Explicit Off." |
37 | Del Simcox noticed a missing word:
The toolbox window displays tools that you can use with the currently active document.
|
64 | Yoel Yaron noticed that first sentence after the heading "Adding Controls" should say "WPF Designer" not "Windows Form Designer." |
66 | Similarly Yoel Yaron noticed that first sentence on page 66 should say "WPF Designer" not "Windows Form Designer." |
196 | Alex McKee noticed a typo. The second-to-last paragraph ends with:
Subroutine AddCol uses similar methods to make a new Grid row.
This should be:
Subroutine AddCol uses similar methods to make a new Grid column.
|
198 | Paul Moss noticed a typo. In the XAML code's RowDefinition elements, the Width property should be Height. (Rows have heights while columns have widths.) |
201 | Krystyna Zyzdryn: The final word in the second paragraph should be "brResult" not "brNumber."
|
284 | Del Simcox noticed a typo in the "Initializing XML Data" code example at the bottom of the page. This:
<Pages>376</Year>
Should be:
<Pages>376</Pages>
|
287 | Henry O'Mara found a typo. The text should read:
If Option Infer is on, Visual Basic may be able to deduce an explicit data type for a variable declared without a type.
|
299 | Del Simcox noticed a typo under Nullable Types. This:
Dim k as Nullable() Of Integer
Should be:
Dim k as Nullable(Of Integer)
|
313 | Henry O'Mara pointed out that this sentence in the last paragraphis kind of confusing:
When operators are on the same line, or if an expression contains more than one instance of the same operator, the program evaluates them in left-to-right order.
By "on the same line," this statement means the same line in the table that starts on the following page. For example, * and / are on the same line in that table, indicating that they have the same precedence. If those two operators appear in an expression and there are no parentheses indicating otherwise, Visual Basic evaluates the operators in left-to-right order.
Notice that the order doesn't matter for those operators anyway because. For example, (1 * 2) / 3 = 1 * (2 / 3). Similarly (1 + 2) - 3 = 1 + (2 - 3).
|
319 | Del Simcox noticed in the second example from the top that "True if date1 > date2" should be "True if date1 = date2."
|
355 | Krystyna Zyzdryn: In the second example, the ElseIf statement should have a Then keyword as in:
ElseIf condition2 Then
|
394 | Thomas Gabriel: In the example code, the first Exit Sub statement after the DivideError1 label should be removed so the code can reach the later statements.
|
460 | Del Simcox: The third to last text paragraph (not counting code paragraphs) ends with "per is from the Person class." It should end with "cust is from the Customer class."
|
461 | Del Simcox: In the first example's Where clause, "cut.CustomerId" should be "cust.CustomerId."
|
466 | Del Simcox: In the last sentence before the code at the end, "area available" should be "are available."
|
465 | Del Simcox: The last paragraph should begin with "The Group Join statement."
|
560 | Krystyna Zyzdryn: The second to last sentence shoudl read "... for which the method was called" not "... for which them method was called"
|
652 | Krystyna Zyzdryn: "DataPair class" should be "DataPair Structure."
|
912 | Thomas Gabriel: On page 912 the DisplayRectangle entry incorrectly refers to Label3 in Figure A-1 but there is no Label3 in that figure. Just ignore that sentence.
|
939 | Thomas Gabriel: In both code examples, "interitance_mode" should be "inheritance_mode."
|
944 | Thomas Gabriel: In the multiline If Then example, the ElseIf statement should have a Then keyword as in:
ElseIf condition2 Then
|
992 | Henry O'Mara found a confusing statement about the NumericUpDown control that basically says the Click event handler fires if the user clicks the arrow button but not if the user clicks the arrow button.
What this should have said was:
The Click event handler ... executes when the user changes the value by clicking an arrow button, but it does not execute if the user types a new value into the field or uses the arrow keys.
That's "keys" not "buttons." Thanks Henry! |