Pages xvii, xviii
Acknowledgements name typos... Pierre Bonutquin Nadine Koano Michel Suignoard MinhoVUrabe EdwardTYe
Page 21
queestão should actually be que estão.
Chapter 3 (Pages 51-81)
Although the book's layout was done mostly with Word 2000, there were a few cases where some other products (whose names I will not list here!) were used, and they caused some problems. The layout of Chapter 3 was slightly affected by one of these programs, causing a few specific characters to be replaced by other characters. Sorry about that!
Pages 52-53
Figures 3.1 and 3.4 have the wrong captions, these two should be reversed.
Page 188
A small word misusage that does change the meaning of the sentence! "I have to admit it was almost impossible to resist thechangechallenge..."
Page 195
See the error in the Uniscribe control sample, below; the same error exists on this page.
Page 430-431
A few incorrectly specified ISO language/country pairs: Indonesian ind Romanian--Moldava ro-mod Russian--Moldava ru-mod Yiddishjyi (These are actually some bugs in Microsoft documentation that I propogated. Oops!)
Owner draw menu sample
The WindowProc in basMenu has the following (one line) issue:
If (dis.itemState And ODS_SELECTED) = ODS_SELECTED Then
Without these parentheses, all of the items will appear selected, instead
of just one of them, when you make a selection.
Uniscribe control sample
The Keyboard handling code will not work on Win9x at all, and it will not
handle "Unicode only" languages on Windows 2000. To fix, change the following
code in the basKeyboard module's ToCharacterEx function:
If Not UnicodeSystem Then
The same error exists in Page 195 of the book.
LoadString Wrapper
Small copy/paste bug in the LoadString wrapper for Win9x. To fix, change the following
line in the LoadString function in basResource:
If FOnWindowsNT() Then
cch = LoadStringW(hInstance, wID, StrPtr(lpBuffer), Len(lpBuffer))
Else
cch = LoadStringW(hInstance, wID, StrPtr(lpBuffer), Len(lpBuffer))
cch = LoadStringA(hInstance, wID, lpBuffer, LenB(StrConv(lpBuffer, vbFromUnicode)))
End If
Also, a small bug in the returned string of the function, to fix, change the following line
in the same function:
If cch > 0 Then
LoadString = Left$(lpBuffer, cch - 1)
LoadString = Left$(lpBuffer, cch)