Marco's Web Center

Menu for Books
Delphi 2007 Handbook
Mastering Delphi 2005
Essential Delphi 8 for .NET
Mastering Delphi 7
Essential Pascal
Essential Delphi
Buy Books Online
Marco's TechBookStore

Site Menu
Object Pascal Handbook
Delphi Handbooks Collection
Mastering Borland Delphi 2005
(Old) White Papers
(Old) Conferences

My Other Sites
Italian Site (
the delphi search

Spirit of delphi

Home My Blog Books Object Pascal Marco

Home: Books

Mastering Delphi 2 Mastering Delphi 2


Although the book was revised with care and checked against the final version of the product some errors crept in. A first list of things I've found is in this page. If you notice anything else please let me know, and I'll try to keep this page updated.

  • Introduction, Page xxxv, the final part of the first paragraph is quite different from what I originally meant. Basically it should read: "I have since used other languages, but have come back to Object Pascal and now use it frequently. When I was first introduced to Delphi and its Object Pascal language I found it so neat that I changed my first choice programming environment and my job. At first this meant taking a risk (why bet on a new environment before knowing any user feedback?), but Delphi has later been so successful that I can now say my original bet was a good one." How the text came out as it is in the book, is a long story…
  • Chapter 1, Page 12, the last line of the note should read: "... so that it would _not_ be removed" (the "not" is missing).
  • Chapter 5, Page 128, two paragraphs before the subheading "The Delphi Object Model", the last sentence should read: "The _second_ expression (i.e., Day.Year) stands for a direct data access; the _first_ (Day.LeapYear) for a function call."
  • Chapter 5, Page 129, the fourth line of the listing at the end should read: "ADay := Date.Create" (and not "Day := ...").
  • Chapter 6, Page 196, Table 6.1, "PopupMenu": the text indicates the popup menu is displayed when pressing the left mouse button. Of course, you should read right mouse button.
  • Chapter 6, Page 209, towards the middle there is a leftover indication of the Delphi 1 directories. You should use the Delphi 2 directories, instead. However in Delphi 2 this technique works in a very odd way. Closing and reopening the system helps to make it work, at times... but there is certainly a bug in this area.
  • Chapter 7, page 223, in the second listing the color should be assigned to "Label5", not the non-existent Label7.
  • Chapter 7, Page 230, fifth line refers to TButton instead of TEdit. Should read: "...which in this case was TEdit."
  • Chapter 15, page 493, third bullet, read "grandchild" instead of "nephew". We use the same word in Italian, and I always get them wrong in English.
  • Chapter 19 discusses multithreading, and although there are no main errors I've found, some readers pointed out that it is not stated clearly that the VCL is not thread-safe, and this is the reason you need the Synchronize call when accessing to it.