24 February 2014

When Did The Delphi Language First Support ...?

If you're like me and try to write library code that's compatible with several different versions of Delphi you have probably had cause to ask "When did Delphi first support XXX feature?"

I have. A lot. And then I forget and have to research it all over again. So, I've created a small table of various language and other features of Delphi along with the version where they were introduced.

I've had the page for a while now for my own use, but it occurs to me that others may find it useful. If you're interested, view it here.

Now, I'm not guaranteeing it's 100% accurate, and it's far from complete.

And now the ask. If you know of any other features and the version when the were first introduced please leave a comment and I'll add it to the list.

Also, if I've made a mistake, leave a comment about that too so I can fix it.

2 comments:

Peter Johnson said...

Max Williams has sent the following, based on info available online, so accuracy is down to the source.

Can anyone help to check validity please?

> D2005
> Inlining functions and methods
>
> D2006
> ExplicitLeft
> ExplicitTop
> ExplicitWidth
> ExplicitHeight
>
> DisableHyperlinks
> AlwaysEnquoteFloats
> PixelsPerInch
>
> OnMouseActivate
> OnMouseEnter
> OnMouseLeave
>
> D2007
> strict private
> sealed classes
> final methods
> class data
> class static methods
> class properties
> nested types
> nested constants
> class helpers
> for..in loop
> records with methods and constructors
>
> Margins
> Padding
> TrayIcon Component
>
> D2009
> unicode
> generics
> anonymous methods
> namespaces
> strict private and protected
> final methods
> sealed classes
> class vars and const's and class properties
> function inlining
>
> TObject properties (UnitName, Equals,
> GetHashCode, ToString)
> TCharacter
> TEncoding, TStringBuilder
> TButtonedEdit
> TCategoryPanel
> TCategoryPanelGroup
> TLinkLabel
> TCustomHint
> TBalloonHint
> TApplication.DefaultFont
>
> Alignment
> NumbersOnly
> TextHint
> ParentDoubleBuffered
> PasswordChar
> Ribbon Controls
> DoubleBuffered
> ParentDoubleBuffered
>
> D2010
> Extended RTTI
> Attributes
> Class Constructors & Destructors
> for generic classes
> Collections and Containers
> IOUtils unit
> TimeSpan unit
> Diagnostics unit
> DirectX support
> Direct2D support
> Overlay Icons
> Task Buttons
> Windows Imaging
>
> Touch
> OnGesture

effectivepascal said...

Technically, Dotted unit names have been supported since Delphi 7. In Delphi 2005 they were used to implement namespace support for Delphi.NET. Then in Delphi 2009 they added IDE support for Win32 projects.

Also class helpers were an undocumented feature of Delphi 2005.

http://blogs.teamb.com/rudyvelthuis/2005/05/11/4270

http://blogs.teamb.com/rudyvelthuis/2005/05/13/4311