Print this page Share

Mastering Delphi 6

ISBN: 978-0-7821-2874-1
1129 pages
August 2001
Mastering Delphi 6 (0782128742) cover image


Still the Best Delphi Resource

A Fully Revised Version of the Book That Won the Delphi Informant Readers Choice Award

If you're looking to capitalize on the powerful capabilities of the latest release of Delphi, Mastering Delphi 6 is the one resource you can't do without. Practical, tutorial-based coverage helps you develop key skills, solve tough problems, and build and implement sophisticated functionality in your database, client/server, and Internet applications. The special insights of Delphi expert Marco Cantu you an extra advantage as you complete successful projects and progress towards Delphi mastery.

Coverage includes:

  • Getting to know the new run-time library (RTL)
  • Learning to use the VCL and CLX visual libraries
  • Developing custom components
  • Creating data-aware controls and custom datasets
  • Mastering database programming with BDE and dbExpress
  • Mastering client/server programming with InterBase
  • Interfacing with Microsoft's ADO using the dbGo component set
  • Taking advantage of Delphi's support for COM, OLE Automation, and COM+
  • Programming for a multitiered application architecture
  • Taking advantage of Delphi's support for XML and SOAP technologies
  • Building practical, powerful Web applications

Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.

See More

Table of Contents


Part I: Foundations.

Chapter 1: The Delphi 6 IDE.

Chapter 2: The Object Pascal Language: Classes and Objects.

Chapter 3: The Object Pascal Language: Inheritance and Polymorphism.

Chapter 4: The Run-Time Library.

Chapter 5: Core Library Classes.

Part II: Visual Programming.

Chapter 6: Controls: VCL Versus VisualCLX.

Chapter 7: Advanced VCL Controls.

Chapter 8: Building the User Interface.

Chapter 9: Working with Forms.

Chapter 10: The Architecture of Delphi Applications.

Chapter 11: Creating Components.

Chapter 12: Libraries and Packages.

Part III: Database Programming.

Chapter 13: Delphi’s Database Architecture.

Chapter 14: Client/Server Programming.

Chapter 15: InterBase and IBX.

Chapter 16: ActiveX Data Objects.

Chapter 17: Multitier Database Applications with DataSnap.

Chapter 18: Writing Database Components.

Part IV: Beyond Delphi: Connecting with the World.

Chapter 19: COM Programming.

Chapter 20: From Automation to COM+.

Chapter 21: Internet Programming: Sockets and Indy Components.

Chapter 22: Web Programming with WebBroker and WebSnap.

Chapter 23: XML and SOAP.


See More

Author Information

Marco Cantù is an internationally known Delphi expert and winner of the 1999 Spirit of Delphi award, who lives in Italy. Author of six editions of the best-selling Mastering Delphi, he teaches advanced Delphi classes, speaks at conferences worldwide, and writes about Delphi programming in print and online magazines. You can reach him through his Web site at http://www.marcocantu.com.
See More


Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
Combined Errata

Page 0 CD

Project code referenced on Page 158 of the book is missing on CD. .

The project code is missing on the CD (found in book p.158) and was missing also in my files. This meant I failed to recompile the program on the final build (I have an automatic recompile wizard) and now I've found some pretty bad errors in the code.
The listing in the book, in fact, worked perfectly in Delphi 5, but doesn't work any more in Delphi 6. The reason is that the GetPropValue function now returns an exception in case the property doens't exists. My updated version of the program uses the IsPublishedProp function of the TypInfo unit to obtasin the same effect:

for I := 0 to ComponentCount -1 do
// Delphi 6 version (slightly different from Delphi 5)
if IsPublishedProp (Components[I], Edit1.Text) then
Value := GetPropValue (Components[I], Edit1.Text);
ListBox1.Items.Add (Components[I].Name + '.' +
Edit1.Text + ' = ' + string (Value))
ListBox1.Items.Add ('No ' + Components[I].Name + '.' +

The corrected code is available in the minimal

Incorrect CD code, .

Code on Page 294 of the book, 4th line up from the bottom of the page.

Actions example: the code in the book is correct but one line of the source code on the CD (and the download file on my site http://www.marcocantu.com/md6/d6fix.htm) was inadvertedly changed from:

ActionCount.Enabled := Memo1.Text <> '';

ActionCount.Enabled := Memo1.Empty Text <> '';
The latter (which is the current code in the project you'll get, won't even compile!

Again, the correct code should be as referenced in the book:
ActionCount.Enabled := Memo1.Text <> '';

Page 20 & 21

7th line of page 20, the Code Insight page is actually in the Editor Properties dialog box, not the Environment Options dialog. The same error is repeated in page 21, while discussing the Ctrl+Shift+I key combination, as the Block Indent combo box is in the "General" page of the on Editor Properties dialog.

Page 42

Middle of page, the default form format is set in the new "Designer" page of the Environment Options dialog (instead of the older Preferences page).

Page 43

4th line, the correct command should be "Project -> View Source"

Page 126

In the shaded text at the top of the page, 2nd para, 2nd line, the MimiPack example should be "MimiPac"

Page 330

Figure 9.4 at page 330, is slightly different from the actual output,
To reference minor differences, see "www.marcocantu.com/md6/d6fix.htm"

Page 462

Below the title "An Example of Component Messages", you can read: "The code of this method for the Enter key?s code and sends the same message...". A word is missing here. Should read: "The code of this method checks for the Enter key?s code..."

Page 490

Under the section "A Simple Delphi DLL",
The sequence of commands is actually "File > New > Other" (and not "File > New" as in Delphi 5). This brings up the New Items dialog, where you can find the DLL Wizard.

Page 733

Middle of page, under "Disconnected Recordsets", disconnected recordsets require the "CursorLocation" property to be set to clUseClient, and not the CursorType property.

See More

Related Titles

Learn more about

Back to Top