RAD Studio XE5 and Abbrevia

As I mentioned in my last post about Orpheus I will today show how to move the Abbrevia component suite to RAD Studio XE5.

But before I have to mention that I got a special permission from Embarcadero to show my experiences with the RAD Studio XE5 product.

RAD Studio XE5 is the brand new product from Embarcadero that allows native development for the the Win32, Win64, OS X, iOS and Android platform.
Jim McKeeth and Marco Cantu have written some nice examples about how to share the code between iOS and Android.
You can get more information about Android and RAD Studio at Embarcadero.
I’m using a pre-release version of RAD Studio XE5.

Okay, let’s come back to Abbrevia. Like Orpheus, Abbrevia has originally been written by the great TurboPower company that closed on January 7, 2003. Today, 10 years later a lot of applications still use their code.

Abbrevia is now released under the Mozilla 1.1 license and it is hosted at SourceForge. Abbrevia is maintained by Craig Peterson who works for Scooter Software the producer of Beyond Compare. IMO Beyond Compare is a must for every Delphi developer but let’s come back to Abbrevia.

The migration to RAD Studio XE5 is easy. I checked out the latest version from SVN, made a copy of the RAD Studio XE4 project group, renamed it to RAD Studio XE5 and saved every package in a new RAD Studio XE5 folder. At last I changed the lib suffix from 180 to 190 and everything compiled.

Everything compiled at once but I got one simple warning: “The symbol StrLen is deprecated.” A short look at System.SysUtils shows the issue:

This issue has been introduced with RAD Studio XE4. It is because of the NEXTGEN compiler, the compiler for iOS and Android, which doesn’t support AnsiStrings in the way the old desktop compiler does. I don’t want to start a discussion about this but I simply would like to say that I do like this strategy.

Anyway, the AnsiString stuff has moved to the unit System.AnsiStrings. Furthermore Abbrevia already uses a compiler symbol for the use of this unit:

This means I could write

As you can see again it is very easy to maintain old components with RAD Studio XE5. And EMBT has done a lot of effort to share the code between the old desktop compiler and the NEXTGEN compiler.

Next time I will move SynEdit to RAD Studio XE5. Again, stay tuned.

This entry was posted in Third Party Components, Uncategorized and tagged , , , . Bookmark the permalink.

4 Responses to RAD Studio XE5 and Abbrevia

  1. Anthoni says:

    Hello, not sure if this will get answered here.

    I am wanting to create a Self Extracting Zip program but need it to work on both Windows and Mac.

    Does Abbrevia support this ?

    I see references to Linux in the code, but not sure if this means OsX or not.

    Any help would be greately appreciated.

    • roman says:


      currently Abbrevia doesn’t support OSX. If you are interested I could have a look at it.
      Please, send me a PM.



  2. Anthoni says:

    Hi Roman,

    Am having trouble with these comment box things. They do not always want to work. You need a better

    comment system 😉


    Anyway, I’ve tried looking for your contact details to send you a PM but can not find it. However I would

    love for you to look into it and see if it will work on OSX. The part I am really interested in is the Self

    Extracting zip section.


    Also, if you direct me to how to contact you via PM that would be great.




Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.