Skip to content

{ Tag Archives } Delphi

Crossword No. 2

DotNetSlackers just published a crossword puzzle I created; you’ll see the grid below. The puzzle is focused on .NET and programming themes, including a Delphi reference here and there. The site editors wanted an article to go with the puzzle, so I wrote an article explaining how I created the puzzle. The article is full [...]

Also tagged ,

Interview With Me At

Jim McKeeth interviewed me for Episode 34 of The Podcast At
Share This | Email this page to a friend

Also tagged , ,

Comparing C#, C++, and Delphi (Win32) Generics

C#, C++, and Delphi all have a generic type and method language feature. Although all three languages are statically typed, they implement generics in very different ways. I’m going to give a brief overview of the differences, both in terms of language features and implementation. I presume that Delphi Prism generics work essentially the same [...]

Also tagged , , , ,

Embarcadero Jobs and jqGrid Trees

I have a couple of short updates on topics I’ve covered recently.
On The Podcast at, Nick Hodges confirms my earlier speculation about reorganization in the "CodeGear" group at Embarcadero. The whole show is worth listening to. Congratulations are due to Chris Pattinson, who was promoted to Director of Quality for all of Embarcadero. Time [...]

Also tagged , ,

Why Has the Size of TObject Doubled In Delphi 2009?

Because it has a new feature.
Mason Wheeler noticed that TObject.InstanceSize returns 8 (bytes). It turns out that this is new in Delphi 2009; in previous releases, TObject.InstanceSize returned 4. But when you look at the definition of TObject in System.pas, you don’t see any fields declared at all.
Four out of the eight bytes are consumed [...]

Also tagged , ,

Sampling Profiler

Eric Grange’s free, sampling profiler for Delphi finally has a site to call its home.
Share This | Email this page to a friend

Also tagged

All Access

Embarcadero’s DavidI and Mike Rozlog stopped by the Vertex Systems office on Wednesday to chat with us about Embarcadero’s plans for the near future and David’s personal developer wish list.
They told us about the All Access product, which had been officially released that day. One of the most interesting things about this product is that [...]

Also tagged , , , , , , ,

Generics, Commas, and Semicolons

In Delphi 2009, you declare a generic type with multiple type parameters by separating the type parameters with a semicolon. If the type parameters have a constraint, you separate the constraint using a colon. Like this:

TFoo<TypeParam1; TypeParam2: ISomething> = class

This means that TypeParam2 must support ISomething. In C#, you would use where instead [...]

Also tagged

SQLDA missing or incorrect version, or incorrect number/type of variables

The error in the title comes from InterBase. Actually, the full error is:
[DataDirect][ODBC InterBase driver][InterBase]Dynamic SQL Error, SQL error code = -804, SQLDA missing or incorrect version, or incorrect number/type of variables.
I’ve seen this error before when the wrong InterBase client (gds32.dll) version was loaded by the application, or when the wrong number of variables [...]

Also tagged , , , ,

How to Unit Test a Data Module

Data modules are unit tested in exactly the same way that you would unit test any other piece of code. That is, by refactoring the code to be tested in such a way as to separate it from code not relevant to the test. But since people occasionally seem to find this confusing, perhaps a practical example is in order.

Also tagged

Bad Behavior has blocked 978 access attempts in the last 7 days.