RAD Studio 2010 Review #12: – Tooling, Help, Unicode

ToolsSure, we’re talking about a prerelease beta. Anything can change till release. But I think that you can trust some bits bellow ;-). Also, greetings flies to Embarcadero for giving us the permission to discuss this.

First, to let you know how that the embedded packages received only bug fixes, shown by the bumping of their version numbers (in the chart bellow there are comparisons with Delphi 2009):

  • Rave Reports: from 7.6 (in D2009) to 7.7
  • Indy: from 10.2.5 to 10.5.5
  • TeeChart Standard: from 8.03 to 8.05

…well we could say that in the Internet arena IntraWeb stayed to version 10 (I cannot say that it received bugfixes because they doesn’t have a minor version number) but… there is a new ‘Import WDSL’ wizard with support for SOAP 1.2:


…and now the SOAP support:


…and there are plenty of options:


…but the biggest enhancement in this release is the Help System. Guys, is big from almost all points of view:

  • Size (319 MB on my disk – which, if we take in account that we speak about text stored in “Microsoft Help Compiled Storage File” archives, is a lot)
  • Code Samples – there are 533 of them. Yep, 533. See for yourself…


…and what’s very neat is that Help tries to connect to Internet to grab the latest version of that piece of info from the corresponding Wiki page.

  • Content – I found everything I wanted. Please don’t take this as an ‘is perfect’ statement. But, again, I found everything I wanted. Way more usable and much much better than D2009’s Help which (with all it’s updates) was in already good shape.
  • What’s new – There is a distinct ‘What’s new’ chapter, grouping all the new things with sub-chapters detailing what’s new in each release starting from 2007. So, you have What’s new in D2007, D2009 and of course in 2010.
  • Speed – no wait. Real time. ’nuff said.

…but the best thing (imho) for all of you which fight with the Unicode is a bunch of hints, info, things to look at (etc.) regarding to the Unicode conversion and/or Unicode usage in your applications:


It is impressive their effort to do the Unicode conversion as smooth as possible and from our personal experience the conversion is much easier than it sounds, and it hasn’t so much to do with how big is your code base but with how respectable we’ve been with the inner workings on the String type.

So, what holds you back to upgrade to Delphi 2010?

(the above isn’t an advertising question. I’m really interested what holds you back)

18 thoughts on “RAD Studio 2010 Review #12: – Tooling, Help, Unicode

  1. I will move from Delphi 2007 to 2010 now. Some 3rd party libaries weren’t available shortly after the release of 2009, but now I will definitely move forward.

  2. Everything I’ve been hearing about D2010 sounds great so far. So indeed, the only thing that could hold me back would be unavailability of the 3rd party component libraries I use. (Currently using D2007 for most of the larger projects, although I use D2009 occasionally for smaller stuff).

    Come to think of it, that would be a really great feature for a future Delphi: downward (or upward, depending on how you look at it) compatibility of libraries so that you don’t have to wait for all the vendors to make upgrades available — that is, if the vendor itself is still available 😉

  3. Will definitely be using this version for production work unless there are any last minute issues discovered – am on Delphi 7 still even though because of software assurance I have all the recent versions – upgrading just seemed like more trouble than it was worth before now. But am really impressed with what you and others have blogged about so far – thank you.

  4. “…and what’s very neat is that Help tries to connect to Internet to grab the latest version of that piece of info from the corresponding Wiki page.”

    Why the Help ever got so seriously broken is beyond me. But this is good news.

    I hope the updated wiki info can be downloaded and integrated into the help. For security reasons, not everyone likes connecting business critical PCs to the internet.

    “what holds you back to upgrade to Delphi 2010?”

    Unicode damage is still a big reason. All my 3rd party libraries are with source code, but to fix the TurboPower text editor is going to be a project in itself, something clients just expect to happen and I don’t earn money on.

    Also, lack of UnicoWS.dll support (target Win95/98/ME) is a problem on older industrial projects.

  5. Let me start by saying that RAD2010 seems to be an outstanding product.
    Congratulations to Embarcadero. This release, really seems the one that will make us upgrade our development tools (still scattered by D5, BCB6, C++RAD2007).

    What will help to upgrade? A strong and quick release of new versions from the third party component vendors. Granted, not a lot that EMB can do about it, but they can always offer some help. Speaking of 3rd parties tools, will QuickReports still be included?

    Now, regarding some misses (understandably not everything could be fixed), it would be nice to feel some love to the C++ side of the tool. Case in point, still no way to have a report of memory leaks on a C++ application closing as there is in Delphi (ReportMemoryLeaksOnShutdown). Nowadays, with application servers running for months it’s a must to be able to early (and natively) debug any leaks. And yes, there are better third party tools for that, but it’s just something that has been asked on a prior live launch product preview and still didn’t make it into this one.

    But that’s “slightly” OT, sorry. Bottom line is that for everything I’ve seeing RAD2010 it’s a truly, truly remarkable product.

    • C++ received a lot of attention in this Field Test. Please forgive me, but I’m just a Delphi guy, that’s all. 🙂

  6. What I really like about last few product iterations, a part really improved functionality and quality, is that Codegear/Embarca… team started being much more selfconfident about Delphi product and future themselves which reflected then in things like more self-marketing, inside reviews like this one, interviews, customer/web communication etc,…

  7. What’s holding me back from 2010 (and 2009) is “Unicode Damage”, as someone else put it very nicely.

    In attempting to make old non-Unicode code “just compile” under the new Unicode regime, CodeGear made some horrendous blunders imho.

    Just trying to get to grips with which version of Uppercase() to use was enough to give me a headache, especially when I discovered that the version that seems most appropriate to a UnicodeString is…. (drum roll please)… .ANSIUppercase() WTF!!!

    I have a feeling it’s too much to ask for, but really a massive cleanup effort needs to go into rationalising the Unicode RTL support in the VCL to make it sensible for people actually writing Unicode applications, rather than people who have written ANSI applications and then want them to just behave as before, but with Unicode strings.

    Properly supporting Unicode in an application just isn’t as simple as that, and the approach taken in the RTL/VCL seems to make it frustratingly difficult (i.e. counter-intuitive) to actually implement what I would call “real” Unicode applications, i.e. ones that consciously consider and cater for the implications of Unicode, instead of just “hoping for the best”.

    • You know that they must support a smooth upgrade path for the old applications. About the ‘cleanup effort’ I’d rather see it by adding another set of routines to work like aliases to the old ones. Something like:

      //just a proof of concept
      function UnicodeUpperCase(aText: string): string;

      What do you say?

      • I’d just point UnicodeUpperCase() or whatever else to the Ansi function

        {$IFDEF UNICODE}

        TUnicodeFunc = function(AText: string): string;

        UnicodeUpperCase: TUnicodeFunc;

        UnicodeUpperCase := @AnsiUpperCase;

        to avoid the extra CALL/stack setup/RET – sometimes it may matter. Something they could have thought themselves. You get an indirect CALL, better than nothing…

    • Joylon – so, maintaining source code compatibility was a ‘major blunder’? Many people would differ… That said, if you don’t care for compatibility with older Delphi versions, add Character to your uses clause and call ToUpper (or TCharacter.Upper) instead of AnsiUpperCase.

  8. #1 reason I will stay in D7 is IDE, D200x IDE killed my productivity.

    – Alphabetical ordering of new events ( WTF, who wanted this ?? )
    – F11/F12 does not work properly
    – New component palette ( fixed in 2010 )
    – Help

    I will upgrade when all above gets fixed and 64bit version is available.

    • Help is ‘fixed’ in D2010
      What do you mean with “F11/F12 doesn’t work properly”? In D2010, at least for me, they work as expected.

      • F11/F12 problem is with Classic Undocked mode.

        I don’t have access to D2010 yet so I don’t know if they work as expected now.

        For example I have 10 labels on a form. I click on 1st label, press F11 and change “Name” property. Then I click another label and press F11 again, “Name” property should get focus so I could type name but I have to doubleclick bc focus is not there.

        Events have same problem, on “Events” I press CTRL ENTER for example on “OnEnter”, type //, press F12, F11 and try to press CTRL ENTER again but OI has lost focus.


  9. > Alphabetical ordering of new events ( WTF, who wanted this ?? )

    I wanted it. See no reason why some methods should be alphabetically ordered and others not. Events are methods.

  10. Pingback: Личная записная

  11. Way more usable and much much better than D2009’s Help??

    Please highlight the word “integer” in the editor and press F1.

    Embarcadero Technologies does not currently have any additional information.
    Please help us document this topic by using the wiki Discussion page. Click the
    Current Wiki Page button below to access the wiki.

    (the onle information about the topic “integer” – and that is only one example)

    Is that better then in D2009?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s