Errata

Programming Visual Basic .NET

Errata for Programming Visual Basic .NET

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed Page 2
bottom paragraph

While beginning to introduce the differences between previous versions of VB and
VB.NET, the author claims code migration from the former to the latter is explained
in Appendix A of the text. However, Appendix A deals with custom attributes defined
in the System namespace - an entirely unrelated topic. Since the topic is also
missing from the other appendices, it would seem to be a reference to a section of
the book not included in the final release.

Anonymous   
Printed Page 6
the line -

Private lblHellowWindows As Label

should be changed to this -
Private lblHellowWindows As New Label


Anonymous   
Printed Page 11
Table 1-1

Label Notes: "Text: EDDate" should read "Text: End Date"

Anonymous   
Printed Page 12
Table 1-2: "Test: Supplier name" should read "Text: Supplier Name".

Anonymous   
Printed Page 12
same table (and elsewhere) btnFind is wrong. Reader is instructed to rename

several buttons this way, which is not allowed in VB.



Anonymous   
Printed Page 26
Dynamically allocating arrays - 2nd Code Example

Problem:

An example showing syntax for creating an uninitialized array has a comment which
reads

'allocates an uninitialized array of five Integers

but the code shows

a = New Integer(5) {}

The comment should indicate that this statement creates an array of six (not five)
integers.

Anonymous   
Printed Page 29
First full paragraph

The 3rd sentence states "When Option Strict is On, attempts to perform an implicit
widening conversion result in a compiler error."

It should instead read:

"When Option Strict is On, attempts to perform an implicit narrowing conversion
result in a compiler error."

Anonymous   
Printed Page 44
bitwise operators - AndAlso & OrElse

AndAlso and OrElse are should be under the Logical Operators section, not the BitWise
Operators section.

Anonymous   
Printed Page 45
Paragraph 1

This is mainly a problem of (IMHO) very unclear wording, but...

Page 44-45 states

"Visual Basic .NET divides the operators into groups and defines each group's
precedence relative to the others. Operators in higher-precedence groups are
evaluated before operators in lower-precedence groups. Operators within each group
have the same precedence relative to each other. When an expression contains
multiple operators from a single group, those operators are evaluated from left to
right."

The VB.NET documentation, at

http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/vblr7/html/vagrpOperatorPrecedence.asp

states something more in-line with other languages, that is seemingly different from
your book.

In truth, it isn't different and the book is correct. The groups you're talking
about are listed in a table on p. 45. The problem is that the table doesn't make it
clear that the groups of operators are the "Operator" column in the table, not the
"Category" column. This caused me to say "huh?!?!" and reread the section several
times before I realized what you meant.

Anonymous   
Printed Page 62
Comment beginnin "This forces all derived classes..."

The comment reads: "...Notice that a method marked with MustInherit has no body in
the base class."
Should be: "...Notice that a method marked with MustOverride has no body in the base
class."

Anonymous   
Printed Page 63
4th bullet point - "Constructors aren't inherited..."

This section refers to the Ellipse and Rectangle class definitions.
There is no Ellipse and/or Rectangle objects defined in the code snippet that this
bullet point is referring to.

Anonymous   
Printed Page 67
Paragraph beginning "Observe that even though..."

The paragraph states:

"Observe that even though the variable y is passed by value to the TestByVal
method"...

However, the code in the book has "y" being passed to the "TestByRef" method.

Anonymous   
Printed Page 76
paragraph after list item "attributes"

The text claims attributes are discussed earlier in the chapter, while they are
actually discussed later, starting on p. 105.

Anonymous   
Printed Page 102
Middle code example of pages 102 and 103

On page 102, an object reference variable named 'producer' is defined within the EventConsumer class. However, when this is assigned in the New() default constructor the variable name includes an unexpected bracketed-pair suffix. Similarly in the DoSomething() method when the producer's DoSomething() method is invoked.

On page 103, the New() constructor initialises producer as expected, but again in the DoSomething() public sub the bracketed variable name appears again.

Anonymous  Jul 25, 2010 
Printed Page 115
Middle of 4th paragraph

Re: "...and one thinks of all three files as comprising an insepa rable unit,"

An unexpected space within the middle of 'inseparable' shouldn't be there. This is most likely caused by an earlier text wrapping split.

Anonymous  Jul 25, 2010 
Printed Page 141
Bottom paragraph

Re: "In this case, it calls the base class's Dispose method to give it a chance to release any expensive resources that it may hold, then it calls the components field's Dispose method"

Except the Designer-generated code above shows the components field's Dispose method is called before the base class's Dispose method.

Anonymous  Jul 25, 2010 
Printed Page 223
Paragraph begining "Calling the ShowDialog"

"The call is asynchronous, meaning that code following the call to the ShowDialog
method isn't executed until the dialog box is dismissed."

This is actually synchronous execution. Asynchronous would mean that code following
the call would continue to be executed.

Anonymous