views:

165

answers:

2

In Delphi 7, you a record was nothing more than a collection of data grouped into one location. In the last few versions, you've been able to add public and private members, methods, properties and constructors to them, treating them a lot more like objects. What version was this extended syntax introduced in?

EDIT: In case anyone wonders why I'm asking, I'm trying to set up something that would be simplified quite a bit by using the extended syntax, but I want to make it backwards-compatible with older versions of Delphi, so I need to know which IFDEFs to use.

+6  A: 

I'm pretty sure records with methods were introduced in Delphi 2006.

Bruce McGee
That's correct. Delphi 2005 definitely doesn't support that.
Rob Kennedy
OK, that's good enough for me. Thanks!
Mason Wheeler
+4  A: 

I suggest you to take a look at JCL library. It contains a very useful jedi.inc file, where you can find all kind of definitions for features, specifically there is:

  SUPPORTS_ENHANCED_RECORDS      Compiler supports class [operator|function|procedure] for record types (D9.NET, D10+)

So, records with methods were introduced in Delphi 2005 (.NET) and Delphi 2006 (Win32)

Alexander
Cool! I've got the JCL, but I didn't know that was in Jedi.inc. Thanks!
Mason Wheeler