Errata

Object-Oriented Programming with Visual Basic .NET

Errata for Object-Oriented Programming with 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. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

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

Version Location Description Submitted By Date submitted Date corrected
Printed
Page x
under "Audience" subhead

"fundamental principals"
should be:
"fundamental principles"

Anonymous   
Printed
Page 14
Example 2-1 in Chapter 2

Sentence reads, "You can change the name of the output file by using the /out
compiler option:
c:vbc /t:exe /r:hello.dll /out:hello.exe hello-client.vb"

If I use this line command I obtain the file hello.exe.
But when I run it, I receive an exception error.

If I use insteed the line command:
c:vbc /t:exe /r:hello.dll hello-client.vb
I obtain the file hello-client.exe that run with no error.

Is it possible that the problem in the first example depends on the fact that the two
files have same name:
'hello.dll' and 'hello.exe' ?

AUTHOR: This is in fact an error. The original syntax in
the book works...but the /out parameter cannot have
the same assembly name as the /r parameter. So,
something like this is more appropriate (making the
output file called helloworld.exe instead):

C:>vbc /t:exe /r:hello.dll /out:helloworld.exe
hello-client.vb

Anonymous   
Printed
Page 25
Table2-1

In my help file, it is stated that the Decimal type is 128 bit, not 96.

AUTHOR: The "decimal" keyword which is used in C# is a 128-bit
integer. The System.Decimal class which corresponds to
the Decimal type in VB.NET is a 96-bit integer. This
is NOT an error in the book, but perhaps some
clarification is in order.

Anonymous   
Printed
Page 40
Private Sub Encrypt()

Private Sub Encrypt()
'
End Function

should be

Private Sub Encrypt()
'
End Sub

AUTHOR: Confirmed.

Anonymous   
Printed
Page 62
Example 3-13

Public Class B
Public WithEvents myClassA As A
...
End Class

should be

Public Class B
Private WithEvents myClassA As A
...
End Class

AUTHOR: Confirmed. The declaration should read:

Private WithEvents myClassA As A

Anonymous   
Printed
Page 64
Private Property MyClassA()

Private Property MyClassA() As A
Get
Return _myClassC
End Get
Set
If Not ...
End Set
End Property

should be

Private Property MyClassA() As A
Get
Return _myClassA
End Get
Set(ByVal Value As A)
If Not ...
End Set
End Property

AUTHOR: Confirmed

Anonymous   
Printed
Page 64
Public Class B

Public Class B
Private _myClassA As ClassA

Public Sub New()
MyClassA = New C()
MyClassA.Raise()
End Sub
End Class

should be

Public Class B
Private _myClassA As A

Public Sub New()
MyClassA = New A()
MyClassA.Raise()
End Sub
End Class

AUTHOR: Confirmed. This is a bug.

Anonymous   
Printed
Page 88
1st Paragraph

Protected NotOverridable Function IsValidNumber() As Boolean
'Use Luhn Mod 10 algorithm to validate
'card number
End Function

Should be:

Protected NotOverridable Overrides Function IsValidNumber() As Boolean
'Use Luhn Mod 10 algorithm to validate
'card number
End Function

Anonymous