Skip to main content

Mastering Delphi 6

Mastering Delphi 6

Marco Cantù

ISBN: 978-0-782-15278-4

Feb 2006

1129 pages

Select type: E-Book



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.


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.


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 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 ""

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.