Record Helpers for Simple Types: #1 reason to upgrade to XE3?

Posted by on in Blogs
Delphi XE3 introduces a really welcome new feature, record helpers for simple types. The Road to Delphi has a great article exploring TStringHelper. Now you can add properties methods methods to simple types like string, integer, etc. This is one of my favorite new Delphi features and appears to be a pretty popular addition.

Tags: Delphi Delphi XE3


  • Guest
    David Heffernan Saturday, 15 September 2012

    I can't find the documentation for this feature. Are you relying on the community, Rodrigo in this case, to document it?

    Can we have some official word on future plans re. zero based strings and the next gen compiler? In other words, can we start writing code against this class helper and expect it to work exactly the same in next gen?

  • Guest
    Colin Johnsun Saturday, 15 September 2012

    I've already created a record helper for TDateTime based on the functions in DateUtils. TDateTimeHelper can be found at

  • Guest
    Lachlan Gemmell Saturday, 15 September 2012

    The official word on class/record helpers has always been "don't use them in new code, they're just there for platform binding and other special circumstances".

    Now that they're being actively promoted and extended into areas that encourage their usage in new code will the limitations of only a single active class/record helper per type per scope be removed also?

  • Guest
    Arnaud BOUCHEZ Saturday, 15 September 2012

    Since you can use only one helper per type at a time, I do not see it very convenient nor useful. That is what Lachlan says: "The official word on class/record helpers has always been "don’t use them in new code, they’re just there for platform binding and other special circumstances"."

    A good old function, or just a record (object) with methods and the simple type within as value will work much better. If you use "inline" for most used methods, it will be fast and extensible, with no problem of scope. You can even embedd the same simple type within several record/object.

    There is so little new feature in the XE3 compiler that it sounds this is the only one pushed on the scene! Poor compiler!

  • Guest
    Oleg Ożarovski Saturday, 15 September 2012

    @Colin Johnsun: I like it! You can make the code even better by adding the inline keyword to the function definitions.

  • Guest
    Luigi Sandon Saturday, 15 September 2012

    Sorry, too little to spend $1299 per developer, especially since it's a nice feature but hardly groundbreaking. And we are not sure if in the next version we could use but buying the Architect SKU, due to some new EULA....

  • Guest
    Colin Johnsun Sunday, 16 September 2012

    @Oleg Ożarovski: Good idea. I'll update the repo. Thanks!

  • Guest
    Warren Postma Sunday, 16 September 2012

    This is indeed a nice feature. Along with the new visual bindings features, and the new RTL/Winapi features, I think XE3 is a worthy upgrade for all Delphi users.


  • Guest
    EMB Senior Developer Sunday, 16 September 2012

    Why are they called Record Helpers? Type Helper perhaps?

  • Guest
    David Heffernan Tuesday, 18 September 2012


    No response to my comment? Can you really suggest that this is a major new feature if you won't document it?

    We've always been discouraged from using helpers. I won't start using them and relying on them until I can see that Emba are serious about them. If you won't document the "#1 reason to upgrade to XE3", then that's just a very confusing message.

  • Guest
    Michael Swindell Friday, 21 September 2012

    @David, it’s one of my favorites because so many times over the years I would have used it. But I’ll check with the team on doc and also suggest we talk more about helpers in general - ie recommend/don’t recommend etc. Reason for the headline #1? was a little tongue n cheek - I’ve been seeing some excitement about helpers for simple types and pulled that quote from a comment - and noticed myself that we hadn’t highlighted it. I’m not 100% sure yet, but I believe the main reason could be that the feature was slated for mobile and wasn’t going to make XE3, but ‘just made’ it into feature XE3 deadline. Not an excuse for lack of highlighting or doc, but may be the culprit. I’ll let you know when I find out. I think the true #1 and #2 reasons to upgrade are Win8 prep and Win/Mac. These along with HTML5 and mobile are the best client application business opportunities for developers today. And with Microsoft launching Win8 in late Oct - now is the best time to be prepping existing apps for their launch. They’ll be putting an unprecedented amount of marketing behind it. I’ll be writing about the topic soon. thanks for the feedback. -m

  • Please login first in order for you to submit comments
  • Page :
  • 1

Check out more tips and tricks in this development video: