Midnight Beach logo

Delphi Publications

Book
Kylix: The Professional Developer's Guide and Reference
Apress, 2002
Linear and straightforward enough to be read as a tutorial, yet detailed and organized enough to be used as a reference, my first book got great reviews and was the most popular Kylix book on Amazon for most of 2002. This book got me interviewed, and the conference talk I extracted from it on Kylix for Delphi programmers helped get me flown to London to speak at the European Borland Conference in October, 2002.
Articles, Chapters, and Talks
  1. Kylix for Delphi programmers
    Euro BorCon talk, October 2002
    Kylix is similar but not identical to Delphi. Sketches nature of various incompatabilities, then goes into some detail about the most common issues they present. Includes: window manager issues; borderless forms; both VCL and CLX have features the other doesn't; library loading and the "application directory"; standard IO; catching dynamic memory bugs; threads and events. (PowerPoint slides)
  2. Borland's .NET Plans
    Magazine article: Delphi Informant, August 2002
    A report from BorCon 2002 on the case for .Net and Borland's plans for Delphi for .Net. <http://www.delphizine.com/features/2002/08/di200208js_f/di200208js_f.asp> is probably offline.
  3. Better Threads for the VCL
    Magazine article: Visual Developer, Jun/Jul/Aug 1998
    Presents a set of thread classes that are easier to use and better encapsulated than the VCL's thread class, and discusses the use of the Win32 API call MsgWaitForMultipleObjects to put a simple, procedural face on complex, asynchronous processes. Pascal and C++ source code for both Delphi 3.0 and C++Builder.
  4. Models, Views, and Frames
    Book chapter: High Performance Delphi 3.0, Coriolis 1997
    By setting a forms Parent property, you can make it appear on another forms panel or notebook page. This lets you use it as a lightweight component. The chapter explains this in detail and explores applications. For example, "wizards" and "property sheets" often present the same views of an object - the only difference is that one walks you through the views while the other offers random access. The chapter includes wizard and property sheet frameworks that can share view forms. It also discusses D3's new interface and Assert features. (Reprinted in Visual Developer, Oct/Nov 1997 [cover article] and Dec/Jan 1998 [part 2].)
  5. Using RDTSC For Pentium Benchmarking
    Magazine article: Visual Developer, Jun/Jul 1996
    Funny, now that CPU's are so fast that we hardly need to benchmark anymore, Intel's gone ahead and made it easy. The RDTSC instruction returns a 64-bit count of clock cycles since power-up (or reset); the article presents a function that returns this as a comp (8-byte integer), and a function to format such big numbers. (Reprinted as part of the Problems With Persistents And Other Advice chapter in Coriolis's KickAss Delphi Programming and the second edition, High Performance Delphi 3.0 Programming.) This is still one of my top Google hits in 2006.
  6. 3D Fractal Landscapes
    Magazine article: Visual Developer, April/May 1996 [cover article]
    A commissioned article for their 3D issue. Discusses fractal landscape generation, 3D perspective transformations, fixed point arithmetic, and Delphi TCanvas graphics. (Reprinted as a chapter in Coriolis's KickAss Delphi Programming and the second edition, High Performance Delphi 3.0 Programming.)
  7. Is It Right To READ To WRITE?
    Magazine article: Visual Developer, Feb/Mar 1996
    Delphi does not call a TPersistent property's write method when loading a component from a stream. Instead, it calls the read method to get a pointer to the field variable, then tells the variable to load itself. This can cause GPF's and/or improper loading. (Reprinted as part of the Problems With Persistents And Other Advice chapter in Coriolis's KickAss Delphi Programming and the second edition, High Performance Delphi 3.0 Programming.)
Created on March 23, 2006, last updated May 8, 2006 • Contact jon@midnightbeach.com