MCAD/MCSD Self-Paced Training Kit: Developing Windows-Based Applications with Microsoft Visual Basic .NET and Microsoft Visual C# .NET Comments And Corrections (326875)



The information in this article applies to:

  • MSPRESS MCAD/MCSD Self-Paced Training Kit Developing Windows-Based Applications With Microsoft Visual Basic.Net And Microsoft Visual C#.Net, ISBN 0-7356-1533-0

This article was previously published under Q326875

SUMMARY

This article contains comments, corrections, and information about known errors relating to the Microsoft Press book MCAD/MCSD Self-Paced Training Kit: Developing Windows-Based Applications with Microsoft Visual Basic .NET and Microsoft Visual C# .NET, ISBN 0-7356-1533-0.

The following topics are covered:

  • CD-ROM: Test Engine Uninstall Disables Visual Studio .NET Functionality
  • Page xxvi: Correction To Requirements
  • Page 11: Missing As
  • Page 11: Incorrect Statement About Variable Default Initialization in C#
  • Page 13: Incorrect Information About Aliasing in Visual Basic.NET
  • Page 13: Corrections To Code Sample
  • Page 16: "Public Integer Spin" Should Be "Public Spin as Integer"
  • Page 20: Missing "Return Result"
  • Page 31: Object1 Should Be Object2
  • Page 38: Timer Update Interval Correction
  • Page 39: Correction To Step 2
  • Page 56: Active Should Be Activate
  • Page 59: Deactivated Should Be Deactivate
  • Page 60: CancelEventArgsCancel Should Be CancelEventArgs.Cancel
  • Page 64: Tab Index Should Be Tab Order
  • Page 78: Correction To Access Keys
  • Page 96: Libby Should Be Joe
  • Pages 104 And 505: Shortcut Should Be Context
  • Page 119: (day DaysOfWeek) Should Be (DaysOfWeek day)
  • Page 124: Missing () In Both Code Samples
  • Page 150: Incorrect Comment Mark
  • Page 209: Incorrect Step Over And Step Out Shortcut Key
  • Page 229: Correction To Lesson Goals
  • Page 244: Project Name Correction
  • Page 245: Correction To Names
  • Page 245: Additional Code Correction Step In Exercise 5.1
  • Page 246: Values Of Test Cases
  • Page 258: Correction To SqlCommand
  • Page 271: Incorrect Concatenation Character
  • Page 282: DataSet should be DataTable
  • Page 283: DataSet should be DataTable
  • Page 287: myDataRow Should Be myDataColumn
  • Page 293: Transaction Should Be Command
  • Page 320: ConnectionText should be CommandText
  • Page 324: DataRelation Should Be Relation
  • Page 327: Change To Visual C# Sample Code
  • Page 356: Missing ) After (button)
  • Page 420: Correction To Sample Visual Basic Code
  • Page 462: Missing Dashes In Comment
  • Page 505: Correction to Question 4 Answer

MORE INFORMATION

CD-ROM: Test Engine Uninstall Disables Visual Studio .NET Functionality

An error has been discovered that occurs when you uninstall the developing Web/Win apps test engine. You are left unable to open a new project in Visual Studio, with an error that Automation Server Can't Create Object.

The workaround is to re-register the windows/system32/scrrun.dll file with the following steps:
  1. Open the command prompt.
  2. Change directory to windows\system32: Type cd\windows\system32 and press enter.
  3. Verify that the scrrun.dll file is in the system32 directory: Type dir scrrun* and press enter. The file name should be displayed.
  4. You now need to register scrrun.dll: Type regsvr32 scrrun.dll and press enter. You should get a message that the registration was successful.
You should now be able to open a new project in Visual Studio.


Page xxvi: Correction To Requirements

On page xxvi, in the second bullet,

Change:
"Microsoft Certified Solution Developers are required to pass three core Microsoft Windows operating system technology exams and one BackOffice technology elective exam."

To:
"Microsoft Certified Solution Developer (MCSD) for Microsoft .NET candidates are required to pass four core exams and one elective exam."

Page 11: Missing As

On page 11, under "Using Value Type and Reference Type Variables",

change:
"Dim x, y Integer"

to:
"Dim x, y As Integer"

Page 11: Incorrect Statement About Variable Default Initialization in C#

On page 11, the final paragraph of the section "Reference Types" incorrectly states that in C# variables are not given default initialization. In fact, variables of a reference type have a default value of null.

Change:
"In C#, variables are not given default initialization. Any attempt to use an uninitialized variable, whether at a class level or a method level, will result in an error."

To:
"In C#, variables of a reference type have a default value of null. It is generally not recommended that you rely on the default value, and these variables should not be used uninitialized."

Page 13: Corrections To Code Sample

On page 13, in the second Visual C# code example, there are two capitalization errors (one in line 3, one in line 4) and "anotherWidget" is missing from the third line of code.

Change:
// You can now refer to MyNameSpaceTwo as myAlias. The
// following two lines produce the same result:
MyNameSpaceTwo.Widget = new myNameSpaceTwo.Widget
MyAlias anotherWidget = new myAlias
				
To:
// You can now refer to MyNameSpaceTwo as myAlias. The
// following two lines produce the same result:
MyNameSpaceTwo.Widget anotherWidget = new MyNameSpaceTwo.Widget
myAlias anotherWidget = new myAlias
				

Page 13: Incorrect Information About Aliasing in Visual Basic.NET

On page 13, remove the line above "Referencing External Libraries":

"Aliasing is not available in Visual Basic.NET."

Page 16: "Public Integer Spin" Should Be "Public Spin as Integer"

On page 16, in the second line from the bottom,

Change:
"Public Integer Spin"

To:
"Public Spin as Integer"

Page 20: Missing "Return Result"

On page 20, in the code sample for "Visual Basic.NET",

Change:
	Result = first + second
End Function
				
To:
	Result = first + second
               Return Result
End Function
				

Page 31: Object1 Should Be Object2

On page 31, in the last line,

Change:
"Object1.MyField = 20"

To:
"Object2.MyField = 20"

Page 38: Timer Update Interval Correction

On page 38, in the first paragraph of Exercise 1.2, Demonstrating Garbage Collection, there is the statement that an invisible timer updates the label control every second. The example included on the CD, however, actually does this update every tenth of a second.

Page 39: Correction To Step 2

On page 39, Step 2,

Change:
"Right-click Form1 and choose View Code. The code window opens."

To:
"Double-click Button1 to create the click event handler for Button1."

Page 56: Active Should Be Activate

On page 56, under the first "Visual C#",

Change:
"myForm.Active();"

To:
"myForm.Activate();"

Page 59: Deactivated Should Be Deactivate

On page 59, in the "Activated/Deactivated" section, the form event "Deactivate" is incorrectly referred as "Deactivated". All instances of "Deactivated" should be changed to "Deactivate" in this section.

Page 60: CancelEventArgsCancel Should Be CancelEventArgs.Cancel

On page 60, under "Visual C#",

Change:
"CancelEventArgsCancel = true;"

To:
"CancelEventArgs.Cancel = true;"

Page 64: Tab Index Should Be Tab Order

On page 64, in the second step 1,

Change:
"1. From the View menu, choose Tab Index."

To:
"1. From the View menu, choose Tab Order."

Page 78: Correction To Access Keys

On page 78, under Access Keys, remove:

"When it is open, you can choose Alt+N to create a new item."

Page 96: Libby Should Be Joe

On page 96, in Table 2.2,

Change:
"Libby's Doughnut Factory"

To:
"Joe's Doughnut Factory"

Pages 104 And 505: Shortcut Should Be Context

On pages 104 and 505, in question 6,

Change:
"shortcut menu"

To:
"context menu"

Page 119: (day DaysOfWeek) Should Be (DaysOfWeek day)

On page 119, in the second Visual C# sample code, change:
(day DaysOfWeek)
				
To:
(DaysOfWeek day)
				

Page 124: Missing () In Both Code Samples

On page 124, in both code samples for Visual C#,

Change:
System.Collections.ArrayList myList = new System.Collections.ArrayList;

...

Widget myWidget = new Widget;
				
To:
System.Collections.ArrayList myList = new System.Collections.ArrayList();

...

Widget myWidget = new Widget();
				

Page 150: Incorrect Comment Mark


On page 150, in the code sample,

Change:
// A default value for price


To:
' A default value for price


Page 209: Incorrect Step Over And Step Out Shortcut Key


On page 209, in Table 5.1, Change:
"Step Into F11 Step Over F10"

To:
"Step Into F8 Step Over Shift+F8"

Page 229: Correction To Lesson Goals


On page 229, in the first paragraph

Remove:
"Additionally, you will learn how to create a multicultural test environment and to provide multicultural test data to your application."

Also remove the second and third bullets on this page:
"Explain how to create a multicultural test environment for your application"
"Describe how to provide multicultural test data to your application"

Page 244: Project Name Correction

On page 244, step 3 of the exercise, the file names given, CalculatorVB and CalculatorCSharp, are incorrect.

Change:
"...and choose either CalculatorVB or CalculatorCSharp, ..."

To:
"...and choose either VB or C Sharp,..."

Page 245: Correction To Names

On page 245, in steps 4 and 5, the first instance of CurrentOperation and Register2 should be misspelled to match the error message.

Change:
"4. Double-click the first error in the Task List. You are taken to an error that cannot find a member named CurrentOperation. Change this statement to read CurrentOperation to correct the error.

5. Double-click the final error in the Task List. Correct the spelling of Register2 to correct the error."

To:
"4. Double-click the first error in the Task List. You are taken to an error that cannot find a member named CurretOperation. Change this statement to read CurrentOperation to correct the error.

5. Double-click the final error in the Task List. Correct the spelling of Regiter2 to correct the error."

Page 245: Additional Code Correction Step In Exercise 5.1

In the section "To identify and correct syntax errors" on page 245, an additional step is required to correct the project code in order to complete the following Lab section "To identify and correct a run-time error". Add the following step:

7. Locate the NumberHandler method.

For VB, change:
CurrentNumberString = CurrentNumberString & CType((CType(sender, Textbox).Tag), String)
				
To:
CurrentNumberString = CurrentNumberString & CType((CType(sender, Button).Tag), String)
				

For C#, change:
CurrentNumberString = CurrentNumberString + ((TextBox)sender).Tag.ToString();
				
To:
CurrentNumberString = CurrentNumberString + ((Button)sender).Tag.ToString();
				

Page 246: Values Of Test Cases

On page 246, the values given for columns CurrentNumberString and CurrentNumberString Expected for the first test case in Table 5.4 are incorrect.

In addition, the column header "Value of LabelDisplay.Text" should read "Value of DisplayLabel.Text"

Change:
Button PressedValue of
LabelDisplay.Text
Value of
CurrentNumberString
Value of
Current NumberString expected
1"0""43234422342"""

To:
Button
Pressed
Value of
DisplayLabel.Text
Value of
CurrentNumberString
Value of
Current NumberString expected
1"0""""1"

Page 258: Correction To SqlCommand

On page 258, in the second paragraph under "Using Data Commands",

Change:
"The SqlCommand class is designed to interact specifically with Microsoft SQL Server 7.0"

To:
"The SqlCommand class is designed to interact specifically with Microsoft SQL Server 7.0 and above"

Page 271: Incorrect Concatenation Character

In the first line of the Visual C# code snippet on page 271, the ampersand ("&") character is used incorrectly as the concatenation of the SQL command string. This should be the plus ("+") character.

Change:
Cmd = "DELETE = FROM Employees WHERE Name = '" & aString & "'";
				
To:
Cmd = "DELETE = FROM Employees WHERE Name = '" + aString + "'";
				

Page 282: DataSet should be DataTable

On page 282, in step 3 of the section To create a DataSet programmatically,

Change:
"...Columns collection of the DataSet."

To:
"...Columns collection of the DataTable"

Page 283: DataSet should be DataTable

On page 283, in the third paragraph,

Change:
"Next, you should add the appropriate number of columns to your DataSet."

To:
"Next, you should add the appropriate number of columns to your DataTable."

Page 287: myDataRow Should Be myDataColumn

On page 287, under the section Unique Constraints there are three instances where the reference should be to DataColumn, not Data Row. In the first paragraph, and in the immediately following Visual Basic .NET and Visual C# examples of setting the property to true, the reference should be changed from Data Row to DataColumn.

In the first paragraph, change:
"...set the Unique property of a DataRow to True (true)..."

To:
"...set the Unique property of a DataColumn to True (true)..."


In the Visual Basic .NET example immediately following, change:
"myDataRow.Unique = True"

To:
"myDataColumn.Unique = True"


In the Visual C# example of this, change:
"myDataRow.Unique = true;"

To:
"myDataColumn.Unique = true;"

Page 293: Transaction Should Be Command

On page 293, in step 4,

Change:
"Execute each transaction"

To:
"Execute each command"

Page 320: ConnectionText should be CommandText

On page 320, in Table 6.7,

Change:
"ConnectionText"

To:
"CommandText"

Page 324: DataRelation Should Be Relation

On page 324, in steps 1 and 3 of the "To add DataRelation objects to your schema using the XML Designer" section, you are instructed to drag a DataRelation object. In the toolbox this object is referred to as a Relation object.

In step 1, change:
"1. From the Toolbox, drag a DataRelation object..."

To:
"1. From the Toolbox, drag a Relation object..."

In step 3, change:
"3. Drag another DataRelation object..."

To:
"3. Drag another Relation object..."

Page 327: Change To Visual C# Sample Code

On page 327, in the first Visual C# code sample below table 6.11, a line of code is repeated.

Change:
daOrders.Fill(objdsDoughnut);
daOrders.Fill(objdsDoughnut);

To:
daOrders.Fill(objdsDoughnut);
daItems.Fill(objdsDoughnut);

Page 356: Missing ) After (button)

On page 356, in the last Visual Basic.Net code sample,

Change:
<ToolboxBitmap(GetType(button)>

To:
<ToolboxBitmap(GetType(button))>


Page 420: Correction To Sample Visual Basic Code

On page 420, in the Visual Basic code sample, 12 lines from the top of page, change:
If Not (ItemCounter = lstOrders.Items.Count - 1) Then
            e.HasMorePages = True
				
To:
If Not (ItemCounter = lstOrders.Items.Count) Then
            e.HasMorePages = True
				

Page 462: Missing Dashes In Comment

On page 462, in step 5 for Visual C#, the first comment is not closed properly.

Change:
<!-- Change the value of Culture to set the current culture    >
				
To:
<!-- Change the value of Culture to set the current culture  -->
				

Page 505: Correction to Question 4 Answer

On page 505, in the answer for question 4,

Change:
"You can set the tab order in Visual Studio by choosing Tab Index from the View Menu..."

To:
"You can set the tab order in Visual Studio by choosing Tab Order from the View Menu..."

Microsoft Press is committed to providing informative and accurate books. All comments and corrections listed above are ready for inclusion in future printings of this book. If you have a later printing of this book, it may already contain most or all of the above corrections.

Modification Type:MajorLast Reviewed:5/7/2003
Keywords:kbdocerr kbdocfix kbinfo KB326875