Errata

Delphi in a Nutshell

Errata for Delphi in a Nutshell

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 xi
"How to Contact Us" section

The information in the "How to Contact Us" section has been updated. It now reads:

How to Contact Us

The information in this book has been tested and verified, but you may find
that features have changed (or you may even find mistakes!). You can send any
errors you find, as well as suggestions for future editions, to:

O'Reilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international or local)
(707) 829-0104 (fax)

There is a web page for this book, where we list any errata, examples, and
additional information. You can access this page at:

http://www.oreilly.com/catalog/9781565926592/

To ask technical questions or to comment on the book, send email to:

bookquestions@oreilly.com

For more information about our books, conferences, software, Resource Centers,
and the O'Reilly Network, see our web site at:

http://www.oreilly.com

Anonymous    Jan 01, 2001
Printed
Page 12
The fourth line from the end in Example 1-7 did read

Data[Length(Data)] := Value;

It now reads:

Data[High(Data)] := Value;

Anonymous    Jan 01, 2001
Printed
Page 18
fourth line of the second paragraph

In the fourth line of the second paragraph, it did read: "...at runtime..."

Now reads: "...until runtime..."

Anonymous    Jul 01, 2000
Printed
Page 29
fifth line of the Warning

The fifth line of the Warning, did read: "...safe, if your function returns a string, dynamic array, or Variant."

Now reads: "...safe, if your function returns a string, interface, dynamic
array, or Variant."

Anonymous    Jul 01, 2000
Printed
Page 173
"Tips and Tricks"

In the first item under "Tips and Tricks" for Currency Type, change "54 or fewer bits" to "53 or fewer bits."

Anonymous   
Printed
Page 182
The 4th line on the page now reads

"// pointer patter in Link."

Should read:

"// pointer pattern in Link."

Anonymous   
Printed
Page 183
In the second line of the first bulleted item in "Tips and Tricks,"

changed "attacking the DLL" to "attaching the DLL."

Anonymous    Jan 01, 2001
Printed
Page 190
line 7 of the example

In line 7 of the example, changed "=" to ">", as in
if GetModuleFileName(Instance, FileName, SizeOf(FileName)) > 0 then

Anonymous    Jan 01, 2001
Printed
Page 210
The third line of the example did read

TIntArray = array of Tnteger;

Now reads:

TIntArray = array of Integer;

Anonymous    Jan 01, 2001
Printed
Page 265
description for Nodefault Directive

In the description for Nodefault Directive, "directory" should be "directive."

Anonymous   
Printed
Page 334
The fourth line from the bottom did read

FillChar(Result[1], Length, Char);

Now reads:

FillChar(Result[1], Length, Fill);

Anonymous    Jan 01, 2001
Printed
Page 415
"Description" of "With Keyword"

In the "Description" of "With Keyword", items #2 and #3 have been swapped. It now reads:

1. Members of records, ...
2. Local variables and subroutine parameters...
3. Members of Self...
4. Global variables in the same unit...
5. Global variables declared in other units...

Anonymous    Jul 01, 2000
Printed
Page 439
The "Syntax" section in the "$BoolEval Compiler Directive" now reads

{$B-} // default
{$BoolEval Off} // default
{$B+}
{$BoolEval On}

Anonymous    Jul 01, 2000
Printed
Page 439
second line of the Warning

The second line of the Warning note did read: "...enabled. Do not disable this option unless you know the code..."

Now reads: "...disabled. Do not enable this option unless you know the code..."

Anonymous    Jul 01, 2000
Printed
Page 439
"Example"

Under the "Example", the third line has been changed from "{$BoolEval On}" to "{$BoolEval Off}".

Anonymous    Jul 01, 2000
Printed
Page 440
third line of the first example

The third line of the first example has been changed from "{$BoolEval Off}" to "{$BoolEval On}".

Anonymous    Jul 01, 2000
Printed
Page 477

The description of -$B did read: "Default is -$B+."

Now reads: "Default is -$B-".

Anonymous    Jul 01, 2000
Printed
Page 479

The description of -$V+ did read: Loosens restrictions on var string parameters..."

Now reads:

"When disabled, loosens restrictions on var string parameters..."

Anonymous    Jul 01, 2000
Printed
Page 507
StringReplace function did read

"StringReplace returns a copy of S, where NewSubStr is replaced by
OldSubStr."

Now reads:

"StringReplace returns a copy of S, where OldSubStr is replaced by
NewSubStr."

Anonymous    Jul 01, 2000
Printed
Page 514-515
Example B-4

Example B-4 has been changed to read as follows (lines 9, 10, 30, and 40 have changed):

type
TTrimType = (ttLeft, ttRight);
TTrimTypes = set of TTrimType;
// Trim space and control characters.
// Handle multi-byte strings correctly.
function AnsiTrim(const S: string;
TrimType: TTrimTypes = [ttLeft, ttRight]): string;
var
Left, Right: 0..MaxInt;
I: 0..MaxInt;
begin
Left := 1;
Right := Length(S);
if ttLeft in TrimType then
begin
I := 1;
while I <= Length(S) do
begin
if S[I] in LeadBytes then
Inc(I)
else if Ord(S[I]) > Ord(' ') then
Break;
Inc(I);
end;
Left := I;
end;
if ttRight in TrimType then
begin
I := Length(S);
while I >= Left do
begin
if ByteType(S, I) = mbTrailByte then
Dec(I)
else if Ord(S[I]) > Ord(' ') then
Break;
Dec(I);
end;
Right := I;
end;
Result := Copy(S, Left, Right-Left+1);
end;

Anonymous    Jan 01, 2001
Printed
Page 517
first paragraph

In the second to last line of the first paragraph, changed "ftCurrency" to "fvCurrency" and "ftExtended" to "fvExtended". It now reads:

"ValueType (that is, fvCurrency or fvExtended)..."

Anonymous    Jan 01, 2001
Printed
Page 524
In the second line of the first paragraph, changed "ftCurrency" to

"fvCurrency" and "ftExtended" to "fvExtended". It now reads:

"be fvCurrency or fvExtended and must match..."

Anonymous    Jan 01, 2001
Printed
Page 540
In the code listing in the middle of the page, line 9 did read

"dwMinorVersion"

Now reads:

"Win32MinorVersion"

Also, a semicolon has been added to the end of line 16, so that it reads:

"Win32BuildNumber and $FFFF]);"

Anonymous    Jan 01, 2001
Printed
Page 556

The index entry for "runtime errors" does not list pages 425-427, the main reference.



Anonymous