Components for RAD Studio XE7

As many of you already know I’m maintaining many components for RAD Studio, particularly Delphi. And with every new release of RAD Studio I have to adjust all of them.

In the past Embarcadero shipped a new release every year but during the last years they changed their habit and ship now every six months a new major release. And they have good reasons to do so which means we have to live with this fact.

The components are used in many applications so that it is impossible for many of you to move to the current version of RAD Studio without them.

In the past I maintained the components in the way that they are backward compatible. This approach has two disadvantages: On the one hand it is impossible to use new language features and on the other hand the effort to test all versions increases from release to release.

I also put my focus on Delphi only, normally there was no version for CBuilder.

This time Embarcadero’s RAD Studio Product Manager Marco Cant√Ļ asked me to change my strategy. He asked me only to support the latest version, therefore Delphi and CBuilder equally. I thought that this is a great idea and agreed.

This means that Embarcadero sponsors me to give you the best possible version of the components that support the latest version of Delphi and CBuilder and use the newest language features if necessary.

Basically the components are tested by Embarcadero but in case of issues I will keep on bug fixing.

Thanks to Embarcadero, particularly Marco, for this great step forward. Porting your application to the latest version of RAD Studio will now be easy.

All components will be a fork of their original, they will ship under the same license and they will be hosted under SourceForge.

Marco and I agreed to maintain in the first step the following components, maybe we will add further in the future:

1. Orpheus (Win32 and Win64)
2. Abbrevia (Win32, Win64, MacOSX, iOS and Android)
3. Virtual Tree (Win32 and Win64)
4. SynEdit (Win32 and Win64)
5. LockBox (Win32, Win64, MacOSX, iOS and Android)
6. Async Professional (Win32)
7. PowerPDF (Win32 and Win64)

This entry was posted in C++-Builder, Delphi, RAD Studio XE5, RAD Studio XE6, RAD Studio XE7, SourceForge, Third Party Components, TurboPower, Uncategorized. Bookmark the permalink.

133 Responses to Components for RAD Studio XE7

  1. Phillip Woon says:

    Hi Roman,
    Are you the only one doing this maintenance? Do you need any help?


    • roman says:

      Hi Philipp,

      currently I’m the only one but I got some help from the authors of the original components, e.g. Craig Peterson, and also from some C++ gurus from Embarcadero. Particularly Abbrevia was difficult to compile under C++.

      Any help is appreciated.



  2. Ramiro Corona says:

    First of all thx for the work you do, can you help me if you have some spare time, to tell me how to install in delphi 2007 the component tpbtreefiler I need to open some files of the btree form and Im having problems installing the component.


  3. Curt Krueger says:

    Thank you for your work!

  4. iwancs says:

    So you mean marco suggest that the component update will be available only for latest version? That’s include the new feature that might come up on the new version of the component?What about a bug?If you support bug than you still need to support for all version of delphi, that mean you must maintain all of your source too, that’s a headache.

    I’m asking this for general component development strategy suggested by marco to keep up with the 6 month release cycle of delphi. In my mind if you only develop new features of component only to support latest delphi version, than that means all of your user will need to upgrade the delphi version in order to use your new version of component. That is not a good strategy at all,

    You see not every project can be upgraded that fast, some of them still in development within those 6 month, then if there is a bug on your component, you have to upgrade it to the latest version first, and that mean the developer need to wait for all component developer that he uses to be updated to the latest delphi version too. Now can you think what will happen?i’m thinking more component developer will drop support on delphi again.

    So it is not suppose to force component developer follow delphi version, it is better to make delphi welcome component developer by not release new major version to soon. It should be a 2 years of release cycle of the major IDE version. With this 6 month release cycle rate, delphi is killing their supporting tools and eventually the customer.

    Please tell marco about this or you can contact me to my email if you want to discuss this more. Thanks


    • roman says:

      Dear Iwan,

      both Marco and I agreed only to support the latest version of RAD Studio. One reason is to avoid tons of ifdefs.

      We would also be able to write the code in a modern way, e.g. we would like to use record helpers.

      Another point is that for example Abbrevia runs under iOS. And it is nearly impossible to write code that compiles with D7 and XE7 NextGen.

      I created new projects under sourceforge which means that the old projects are still there.

      I also used Mercurial instead of SVN so that I can create branches and merge for everything.

      If you need something you can write me an email and sponsor me like Embacadero has done.



      • Remy Lebeau says:

        > And it is nearly impossible to write code that compiles with D7 and XE7 NextGen.

        Really? I maintain Indy, another Embarcadero sponsored+tested component suite. Indy supports D5-XE7, desktop and mobile compilers, even FreePascal and its various platforms, and it is NOT that difficult to support pre- and post-NextGen compilers (though I will admit that ARC did present some challenges). And not once did Embarcadero ask me to only support the latest compiler/IDE and its features. They are perfectly accepting of Indy’s desire to support past versions.

        • roman says:

          I absolutely appreciate your work on the Indy components (I’m using them myself) but I think there could be an issue. With supporting the past versions you cannot use the latest features like Generics and Anonymous Methods. And you also have to write a lot of ifdefs. That’s why I don’t like the approach to support all compilers very much.

          BTW, some months ago I asked some questions in the CBuilder-Third-Party forum according the C++Builder. Do you have any idea what could be the problem?



  5. Lance Rasmussen says:

    Great work and thank you!

    I’m hoping at some point for Orpheus to be ported to OS X. I use Orpheus in a different fashion for our products and is one of the things I’m look at, when looking towards porting a project.

    I haven’t checked the code yet, but does your code include the contributions I made a year or two ago to the main Orpheus project?

    • roman says:

      Dear Lance,

      I can’t imagine to port whole Orpheus to OS X but if you need only parts of it please contact me. I’m always looking for some interesting projects. ūüôā

      I started with the latest version from sourceforge. And I’m able to merge the latest changes to the new fork.



  6. Dobrin Petkov says:

    Thank you Roman – this is great

  7. I hope elder versions will still be available for download using subversion or git.

    I still use D2006 for private work since I work in an university, and I’m not allowed because budgets to invest in full versions.
    And being 50% employed, personal economy don’t allow such investments ūüôĀ

    At work I still use DXE2, but hope to get an opening for XE7 academic version (I work in nutrition field and none of my colleagues understand why making computer programs at all and rather want me to do the nitty.gritty of copying there files and save their manuses ūüėÄ

    • roman says:

      Dear Alf,

      the older versions are still available at sourceforge. I created for every component suite a new sourceforge project.


  8. Petar says:

    I do not accept the thesis about 6 months life cycle. The reason is simple: there are no major differences between RTL versions that force you to use “tons” of IFDEFs. Nor there are incredible new feature that RTL offers between XE4 and XE7 (I do not count CompilerVersion++ thing)

    Anyway, this is great step forward! Thanks for your effort!

  9. Carl says:

    The problem that I have is I am never able to upgrade because of one or two of the 8 or so 3rd party components I use simply don’t support the latest version of Delphi. So, I have been targeting XE5 to upgrade to, with the hope that the component vendors catch up to at least that far…. In the meantime, I’m still using 2006, wanting really badly to upgrade, but am totally stuck here, while I slowly wean out the use of 3rd party components from my codebase.

    What is really needed, is to somehow provide a “backwards compatible compile” or similar so that old components will work fine with newer versions of Delphi. If that were to occur, it would be a no brainer for me to upgrade with every single update. (and my entire team!)

    • roman says:

      Would it be possible to update the missing components yourself?



    • Bill says:

      If you want to alleviate the 3rd party component update problem, consolidate your tools to a few active vendors. For example I switched from open source zip and encryption components (2 seperate projects) to commercial Eldos that does what both of those open source projects do.

  10. Dennis says:

    I really welcome the idea of having those components available with every new version (and only for them), have you ever tried to compile an outdated component for a newer Delphi version? I am really happy about this step, and I think this will *improve* the quality of the components *a lot*. A 6 months time frame should be well enough for porting your projects to a new Delphi version (from the previous version of course!), I am more than happy if those hard core D7 guys would now start upgrading their Delphi version instead of complaining about backward compatibility. Thanks Roman for your effort.

    • iwancs says:

      @Dennis thanks for sharing your thought, i’m not against what roman did with the component updated to the latest delphi version and support only for new version. It was a great job already and i appreciate that a lot. What i’m saying here is that with 6 month release cycle, it is way to fast, why?
      This is my thought:
      – Not all component developer has partnered with Embarcadero to have access for what will be released, they only know what the feature is when it is released.
      – They need to buy a new license every six month
      – When release, they need time to have them try to compile it under the new version and check whether it is still compatible or not
      – They need time to test the package
      – They need time and effort to publish them
      – They need time to make sure the source that might need a little changes still compiled on older compiler
      – They need time to think of a new feature or upgrade it
      – They need time to fixed bug and make sure it work for all other IDE
      – They have to do all above every six month
      – Developer need time to migrate their work to the latest IDE
      – Developer need time to wait for all their component developer to update the component to support new IDE
      – Developer need time to test the project and make sure no breaking change of the IDE break their project
      – Developer need money to buy a new IDE just to have a delphi bugs to get fixed
      – Developer need to ask the component developer to fixed bug on older version of the component if developer decided not to buy the new version
      – Developer need to do all above every six month

      I have that list above because as a developer, i need time to upgrade my project that only use a few important 3rd party component. My last delphi version is Delphi XE, and still thinking thoroughly whether i’m ready to upgrade it to Delphi XE7 because i need time to upgrade it and make sure it is still working with all those breaking changes just from XE version. And still need to think that there will be XE8 coming withing 6 month and i’m still waiting for all my component developer to update their component to support the latest version. It’s not just a recompile will do the job anymore lately

      That is why 6 month is to soon, need at least 2 or 3 month to upgrade a project, and that makes me not able to think of new feature to deliver to my clients.

      That is my thought, please can you share what you think of that above

      • roman says:

        But consider that RAD Studio goes mobile which means that Embarcadero has to react to every new iOS and Android version.

        • iwancs says:

          Reacting to new os version does not have to launch new version, just an update will do fine.

          This is what i want to suggest:
          – Release new version every 2 years
          – New version content:
          – New / Improved IDE Features
          – New / Improved Language Features
          – New / Improved platform support
          – New / Improved compiler features
          – Release updates on a regular period or as soon as new device os features released that need to be updated
          – There should be two different updates, the free for registered product owner and the free for maintenance subscription member only
          – Free for registered product owner Updates content :
          – Supporting new devices os version on a periodically delivery time (every 3 – 4 month)
          – Bug fix on a service pack or hot fix on a periodically delivery time (every 3 – 4 month)
          – Free for maintenance subscription member content:
          – Component update when available
          – new device support when available
          – faster bug fixing delivery when available
          – Release maintenance update for one version before current version

          With this schema, i’m thinking these are the benefits:
          – Developer will have more time to fixed bug, develop new feature, improve code stability, and most important, make a profit out of it
          – Component developer will produce more solid and stable version, and develop new features
          – Delphi will still be able catch up new device or os features as fast as possible
          – Embarcadero team will have more time to produce more solid and bug free product then like right now that as i know, they have to release unfinished feature in order to fulfill the 1 one year maintenance subscription user that will sue them if embarcadero not delivering new version within one year. Example of unfinished feature is the Paralel library, i’ve seen some function already implemented in xe6 but only useable in xe7 i think.
          – Embarcadero will be loved by developer because:
          – They still supporting old version even though only one version before current version, but it is a 4 years support
          – They release bug fix without forcing them to buy new version first
          – They keep up to date for the latest device or os feature in a timely fashion (fast response)
          – They listen to their customer
          – Embarcadero will also get benefit from:
          – More new developer join (thanks to appmethod pricing scheme)
          – More old long time delphi developer rejoin
          – More user join the maintenance subcription (more reason to join then what it offered right now)
          – More stable income because sales still happen the whole year (right now sales will be boost only after it release)
          – Hurt a little because big income on every 6 month

          The 6 month release cycle is no use, with what happen to the iOS 8 new breaking change (the Invalid Segment Alignment issue for AppStore), 6 month is not enough, they may need to release new feature every month, that is not possible right?

          I Love delphi and will always be, and i’m saying this because i don’t want embarcadero kill and torture delphi . Please have your thought about this


  11. The list states that Lockbox works with iOS and Android. Is this correct? Looking at the code it doesn’t look like NextGen is supported.

  12. noj says:

    Thanks for your effort. I think sometimes it is a good idea to start over and build on the latest features of the compiler. But I do not think it is a good idea to fork the projects. That is what branches are for. Why not implement the changes in the trunk and leave an old-branch for the older delphi versions, which only gets the important bugfixes (if someone volunteers)?

    • roman says:

      In the new project I’m working with branches. The problem is that the original project doesn’t belong to me. I cannot simply create a branch and remove all ifdefs.


      • noj says:

        I do understand this, maybe it’s the only way to handle that many projects. But will there be effort to remerge the projects, i.e. did you or EMB contact the original project owners and explained the situation? Maybe there is an easy solution.

  13. Hi Roman!

    Thanks by the great job!

    Have you ever thought to adopt github instead of source forge?

    I think we will win some things:

    a. Easier to contribute with source.
    b. Easier to contribute with documentation.
    c. A integrated bug tracker.
    d. A transparent tag system. I think It is the most important feature in this new Embarcadero strategy. Component version could be easily synchronized with Delphi version. Even though fix can be done in older versions.

    IMO source forge IDE is terrible and doesn’t invite to contribute.

    By the way… thank you.

    • roman says:

      I’m internally using FogBugz/Kiln. For publishing I only needed something that works with hg.
      Since the original projects (except virtual tree) are hosted at sf and sf supports hg we decided to use it.


  14. Bob says:


    I have used the TurboPower components from the very first version. It is great and honorable work you do here. The people of TurboPower were one of the very best teams in the business for many years. As one of the “old” guys still doing this for a living, I would like to offer my personal thanks to you for the interest and effort you have put into something that is obviously your passion and something that means a great deal to me. The TurboPower libraries are to truly one of the seven wonders of Delphi.

  15. Ric says:

    I am migrating a project from D2010 to XE7. The D2010 project used the SourceForge version of Abbrevia (5.0). When I compile the project in XE7 I am getting the error:
    [dcc32 Error] E1026 File not found: ‘AbComCtrls.res’

    Do you have any suggestions on what I need to do to resolve this?

    • roman says:

      Did you add the Abbrevia source path ($(Abbrevia)\Source) to the project’s search path?

      • Ric says:

        I found that C:\Abbrevia\Source and
        both have to be in the XE7 Library Path. $(Abbrevia)\Source did not work – XE7 grayed it out as if it did not recognize $(Abbrevia)\Source.

        Thanks for responding so quickly, it is now compiling.


  16. Ric says:


    One of my units does reference AbComCtrls in the uses clause. On that form I am using a TAbProgressBar.


  17. Lance Rasmussen says:

    I posted a ticket on the Orpheus project.

    There was a change a couple revisions ago to the ovctccbx unit that broke functionality on the combo box in a table. Previously could click the arrow and the items would stay open until an item is selected. It doesn’t work that way any longer.

    I was able to backport the original lines for the unit to make work, but hopefully it’s something that could be corrected.

    • roman says:

      This behavior has been introduced in July 2014 by Sebastian and with it before I made the move to XE7.

      Sebastian created a completely new class TOvcTCComboBoxEdit and renamed the old one to TOvcTCComboBoxEditOld.
      I do not know why he did this nut I guess that he had his reasons.

      That’s why I would suggest that you will contact him directly. He can tell you more about his work.
      I just sent him an email.

      • Lance Rasmussen says:

        Thanks Roman.

        What Sebastian should have done was created a new class called TOvcTCComboBoxEditNew and left the other alone to not break compatibility.
        Will check with him regarding the issue. Thank you!

        • roman says:

          This is a good idea. I already sent Sebastian an email. I would suggest that we will wait some days.
          If we will hear nothing from him then I will rename the new class.

  18. Charles Stack says:

    Awesome job!!!! Great to see this suite being ported for XE7.

    Thank you!!!

  19. Another approach would be to check in a version for Delphi 7, then fork that, add a version for Delphi 2k .. and so on.

    So when Delphi XE8 is released, you would just fork XE9, adjust the code, and release.

    The benefit of this is that you can then for each release make use of new functions and features — while still retaining legacy code. Because there is no reason to use function in older Delphi releases that does not support them – in older packages.
    People who still use D7 would have to live with the fact that their version of the packages will never be different than what they are, and XE8/9 etc. future users can look forward to future work.

    It is for instance a great shame that DevEX have updated everything, because my software (written in D7) can never be upgrades — it used a version of their DB grid which is now ancient. I cant port the code to a new Delphi because there the grid is completely different.
    By keeping each version in it’s own fork, that could have been avoided.

  20. Tomo says:

    Roman, congratiolations and a big thanks for your effort in AsyncPro components. I have also been using those components for over 15 years in C++Builder 5 and 6. In later versions of C++Builder there was a problem that the package was omly pepared for Delphi. Now my question is if these components also work in C++ Builder XE5. Are there any installation manuals?


    Thanks again and best regards.


    • roman says:

      I’m currently merging the AsynPro Components with the one from songbeamer. Since I’m doing this only in my spare time it will last some weeks. If you need a short term solution then please send me a PM.

  21. Fran√ßois NO√čL says:

    Hi Roman,

    Thanks you to maintain the Turbopower Components. It’s good.

    I’m interest by this components : especilay the “RackControl” set. Can you update it for XE7 ?



    • roman says:

      Dear François,

      I’m unsure about the license of the RackControls. The author says:

      “Diese Komponenten sind Public Domain, das Urheberrecht liegt aber beim Autor”.

      I think I can modify them. If you are interested then please send me a PM.



      • Fran√ßois NO√čL says:

        Hi Roman,

        I’m interest but i find not where i can pm you.
        You have my mail, you caln mail me if it’s possible.

  22. Vlad says:


    Testing Abbrevia on Android.

    I use functions LoadToStream and SaveFromStream and they work great on Windows, but when trying to compile for Android I am getting the following errors:

    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzCompressInit(Abbzip2::TBZStreamRec&, int, int, int):AbBzip2(.text._ZN7Abbzip218BZ2_bzCompressInitERNS_12TBZStreamRecEiii+0x4): error: undefined reference to ‘BZ2_bzCompressInit’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzCompress(Abbzip2::TBZStreamRec&, int):AbBzip2(.text._ZN7Abbzip214BZ2_bzCompressERNS_12TBZStreamRecEi+0x4): error: undefined reference to ‘BZ2_bzCompress’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzCompressEnd(Abbzip2::TBZStreamRec&):AbBzip2(.text._ZN7Abbzip217BZ2_bzCompressEndERNS_12TBZStreamRecE+0x4): error: undefined reference to ‘BZ2_bzCompressEnd’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzBuffToBuffCompress(void*, int&, void*, int, int, int, int):AbBzip2(.text._ZN7Abbzip224BZ2_bzBuffToBuffCompressEPvRiS0_iiii+0x1c): error: undefined reference to ‘BZ2_bzBuffToBuffCompress’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzDecompressInit(Abbzip2::TBZStreamRec&, int, int):AbBzip2(.text._ZN7Abbzip220BZ2_bzDecompressInitERNS_12TBZStreamRecEii+0x4): error: undefined reference to ‘BZ2_bzDecompressInit’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzDecompress(Abbzip2::TBZStreamRec&):AbBzip2(.text._ZN7Abbzip216BZ2_bzDecompressERNS_12TBZStreamRecE+0x4): error: undefined reference to ‘BZ2_bzDecompress’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzDecompressEnd(Abbzip2::TBZStreamRec&):AbBzip2(.text._ZN7Abbzip219BZ2_bzDecompressEndERNS_12TBZStreamRecE+0x4): error: undefined reference to ‘BZ2_bzDecompressEnd’
    C:\Users\Public\Documents\Embarcadero\Studio\15.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: C:\__Projects\ziptest\Android\Debug\AbBzip2.o: in function Abbzip2::BZ2_bzBuffToBuffDecompress(void*, int&, void*, int, int, int):AbBzip2(.text._ZN7Abbzip226BZ2_bzBuffToBuffDecompressEPvRiS0_iii+0x1a): error: undefined reference to ‘BZ2_bzBuffToBuffDecompress’


    I use Delphi, but the errors are C++

  23. Pingback: Sarina DuPont, Product Manager RAD Studio » Learn more about Turbo Pack for XE7

  24. Emile Petrus says:

    Are there any plans to convert OnGuard and Systools?

  25. tubi says:

    Thank you for your job!!!

  26. Hi Roman,

    1. Thanks for your job

    2. just installed Orpheus components and ran OrpheusTests on a french OS.

    3 tests failed, among two could be easily avoided, slightly modifying the two tests. Here are the proposed modifications:

    1. procedure TTestOVCIntl.TestMonthStringToMonth;

      pIntlSup := TOvcIntlSup.Create;
        for i := 1 to 12 do begin
    ¬†¬†¬†¬†¬† s := Copy(FormatSettings.LongMonthNames[i],1, 4); // instead of 1, 3, because ‘jui’ can be ‘juin’ or ‘juillet’ in french
          m := OvcIntlSup.MonthStringToMonth(s, 4);

    2. procedure TTestOvcTable.TestOvcTCNumericField_nftDouble;
    ¬† {- test OvcTCNumericField with datatype ‘nftDouble’ }
      cNum: Double = 1234.56;
      s: string;
      { Test reading data }
    // instead of¬†¬† CheckEquals(‘1.234,56’, Trim(TPOvcTCNumericField(FForm.OvcTCNumericField1).FEditDisplay.Text));
      s := FloatToStrF(cNum, ffNumber, 8, 2);
      CheckEquals(s, Trim(TPOvcTCNumericField(FForm.OvcTCNumericField1).FEditDisplay.Text));

    Hope you can modify accordingly
    Best regards

  27. Hi Roman,

    I did not found any demos projects for each of the component sets.

    Do you know where I can find some if they do exist?


  28. Phil says:

    Hi Roman

    Would you perhaps consider updating the old VirtualShellTools to XE7? Together with Mike Lischke’s VirtualTreeview, these components were one of the best packages available for Delphi.


  29. Phil says:

    Hi Roman,

    Thanks for the fast reply.¬† Wow, I cannot believe that you’ve never heard of the Mustangpeak components before.¬† They were considered the best Windows shell component pack for a very long time.¬† Only when Jim Kuenemann gave up active development a few years ago (he uses Apple these days…) were these precious little gems kind of forgotten.¬† The developer of pyScripter updated them to XE2, I believe, but that was pretty much it.¬† Honestly, check them out – the components are really great.

    Joachim Marder took over the development of VirtualTreeview from Mike Lischke and kept that component open source.  His shell components though are closed source and have nothing to do with Mustangpeak, AFAIK.



    • roman says:

      Hi Phil,

      I’m very sorry but it is true: I never heard about it before.
      Anyway, I just read a G+ thread about this topic: Matteo Salvi and Uwe Schuster were able to compile this component.
      Maybe this could help you.



  30. Phil says:

    Thanks for pointing out the G+ thread, Roman.  I will definitely give it a shot.  Still, I hate to see such a great component pack disappear forever.


  31. Phil says:

    Hi Roman

    Forget what I said.¬† Someone has updated the component pack to XE7 three days ago… ūüôā


  32. Lance Rasmussen says:

    Where is the repository now for Orpheus?¬† I saw a note on SourceForge that it moved to Github, but can’t find the link to the repository.

  33. Krasimir Ivanov says:

    I just find that you allready have moved all Turbo Power libraries als Turbo Pack in Github.

    Nice work.

    But I just wonder about LockBox. There is one LockBoc 3.6 that can be used ~XE6 , and may be XE7 (have no try) hier:

    So this one is on Google Code, you have other in Github, and old is on SourceForge… let me say just, it will be better to find all this stuff in one place.

    • roman says:

      LockBox is difficult. Sean has developed a complete new version with LockBox3 and hosted it under the original LockBox project. This is a problem since LockBox3 is not compatible to LockBox.

      That’s why I split them into two different projects. Furthermore I made them compilable under all platforms.

      But Sean wasn’t satisfied with this strategy and created a new version under Google code.

  34. Bengt Håkansson says:

    I downloaded the source code for Delphi XE7, added the source subdirectory library path to the IDE’S library path and tried to compile OrpheusDR.bpl but got a lot of errors of the type Undeclared identifier: ‘CurrencyString’.

    Do you know what the problem can be?




  35. Pingback: Free Encryption Library In Delphi XE7 Firemonkey On Android, IOS, Windows, And OSX | Delphi XE5 XE6 XE7 Firemonkey, Delphi Android, Delphi IOS

  36. Thomas Koch says:


    I developed an application with delphi 7 with powerpdf and now I migrated on delphi xe7 and this component is by still optimized for this new version

    When this constituent will be  available?

  37. David Guest says:

    I really love Systools … It has some nice components and a great many good routines. ¬†Any plans to get it to work with XE7?


    Thank you for all your wonderful efforts…

    • roman says:

      You can find SysTools under This site currently redirects to github where we host some components including SysTools.

  38. Dave Cappellucci says:

    Having trouble installing SysTools in XE7…¬† There seems to be a dependency on System.Hash that is missing:

    [dcc32 Fatal Error] StDict.pas(194): F1026 File not found: ‘C:\Code\Turbopower\SysTools\packages\Delphi\System.Hash.dcu’ (unit scope “System” indicates OSX32, Win64, Win32 only)

    Any help on resolving would be greatly appreciated.


    • roman says:

      I’ve seen the same issue under GitHub. I’m currently busy, I will have a look at it at the end of the next week. If you need a solution earlier then please send me a pm.

  39. Hi Roman,

    I was directed to you in an answer to a question I asked on

    I’m having problems installing AsyncPro in Delphi XE3 (both the SourceForge version and the Github version). I started patching but I keep on getting errors, and I’m afraid I’m seriously undermining the library’s stability.

    Do you have a version lying around which works in XE3?


  40. Antony Danby says:

    Hi Roman

    Is there anything I can help with. I would really like to see TurboPower OnGuard. So maybe I can have a go at that. FYI: I am a Delphi programmer and have been coding in Delphi since the first release back in ’95.

    Also I don’t know if it’s my companies firewall or web policies (something like WebSense ), but I can’t seem to download any of these *new* projects from sourceforge. Could you double-check and see if they still work for you please and let me know.



  41. Andreas says:


    I’m trying to install Lockbox 3 into Delphi xE7. All is fine when building the Lockbox3DR and Lockbox3DD packages. However when I try to install the Lockbox3DD package an exception is thrown in bds.exe. Any suggestion what I’m doing wrong here (I followed the recommendations in readme.txt)?



    • roman says:

      What kind of exception with which message?

      • Andreas says:

        Hi Roman,

        actually it is an access violation at address 38ED8679 in Module ‘bds.exe’ Reading from address 00000010

        Sorry for the confusion.


        • roman says:

          Is it possible that the IDE find also the LockBox bpls at a different location so that the wrong bpls are loaded?

          BTW, I’m a native German speaker.

          • Andreas says:

            I’m also a native German speaker. I think it makes sense to stick to english so that others can benefit from the findings. I was cleaning everything up from the previous manual Lockbox3 installation (based on the original source code which I carried over from XE2 thru XE5 to XE7). I will check once more if there is any residue from the previous installation. Thanks for you reply.


          • Andreas says:

            Hi Roman,

            got it installed in XE7. The problem was that I had $(BDSCOMMONDIR)\Bpl\$(Platform) setup as the Package Dir. Together with the fact that I had Lockbox installed via Getit in XE8 and the system environment variable PATH contained the XE8 Package Dir, the XE7 install failed because it was picking up the XE8 bpls.

            Once I reset the path of the Package Dir in XE7 to the default value, the package installed properly.


  42. Godfrey Fletcher says:


    Thanks for your work on the components.

    I have been using Lockbox v2 for some time. ¬†I now use Lockbox v2 in xe8 (from Getit). Using TLbRijndael component. ¬†Since I upgraded to XE8 I get an error¬†when decrypting a string. “Invalid base64 character”. ¬†This worked fine in XE7.

    This is how I store it:

    RegCode := ‘DEMO’ + ‘|’ + HarddiskSerial + ‘|’ + DatetoStr(Now) +
    ‘|’ + ExpireDate + ‘|’;
    DataModGlobal.QuerySecDCode.Asstring :=

    This is how I retrieve it:

    if DataModGlobal.QuerySecDCode.asstring <> ” then
    RegCode := Rdl.DecryptStringA(DataModGlobal.QuerySecDCode.AsString);

    I am desperate, your help would be much appreciated.



  43. Antony Danby says:


    I have just downloaded and installed the Synedit package. Are there any examples/demo’s for it anywhere do you know ??



  44. Peter says:

    Hi Roman,

    I have just built some encryption logic based around the tpLockBox tools for FireMonkey using XE8 (specifically TlbRijndael).  On switching from windows to iOS I have now discovered that iOS devices are not supported Рonly iOS simulator (the current version of which is now no longer supported by XE8!).  Is this intended behaviour?  I have found a number of websites suggesting that these tools support iOS (including this blog Рpoint 5 on your maintenance list above)

    Is a an update to support iOS expected anytime soon, or do I need to look for another solution?  Am I doing something wrong?

    This is fairly urgent for me as the Indy toolset no longer supports https for iOS, and I need to secure transmitted data.



  45. Antony Danby says:


    I am using the synedit package. It builds for a 32bit EXE in XE7 fine, but then I encounter problems on a 64bit build, to do with the fact that it can’t find the packages/source even though I have set the directories correct in my Project Options.



  46. Thomas Blomberg says:

    Hi Roman,

    Thanks for your great work!

    I have a problem with TOvcTCComboBox on a TOvcTable in XE8. It is not possible to change the items using the mouse (style is csDropDownList). Only the first item is displayed (there are three items).

    The second issue is that if I try to change the item using the arrows on the keyboard¬†¬†I will get an “Invalid class typecast” error.

    The same code (my code) has been working without any problems for two years  in XE2 (using Orpheus v4.08).

    (I installed¬†the TurboPack version using “Getit”).



  47. Thomas Blomberg says:

    Hi Roman,

    After some testing I found this lead for the peculiar behaviour. Let me know how I can send you the demo application (I am not sure if I can attach it to my reply. Please contact me by email if you want me to send it).

    You can also do as follows in XE8:

    1. Create a new “VCL Forms Application – Delphi”
    2. Add a button with caption “Show TableForm” with “;” in the Onclick event.
    3. Create a new form with the form name “TableForm”
    4. Put a TOvcTable and a TOvcTCComboBox on the “TableForm”
    5. Add some items to OvcTCComboBox1 and add OvcTCComboBox1 to a column in the OvcTable1 Columns Editor

    6. Run the program. The items are displayed correctly in the table using the mouse on the dropdown list.

    7. Change the form style from “fsNormal” to “fsStayOnTop” in “TableForm”. The items are not displayed.

    Ps. I have used Orpheus by Turbo Power since Delphi 2 (1996 i think). It is a great tool box and I am glad it has survived all generations so far. I have always been a bit surprised that the people developing Delphi (Borland, Codegear, Embarcadero) never took the possibility to take the components by Turbo Power under there wing and made this a standard feature.

    Me, and many others, are thankful for your kind work.


  48. Thomas Blomberg says:

    An update comment: The dropdown list is actually displayed (formstyle=fsStayOnTop), but underneath the form itself. You can resize the form and see this.


  49. Med says:

    Is there any plans to make Orpheus (TOvcDbReportView) compatible with themes and Studio Visual Styles?

  50. ralf says:


    when i try to download “Abbrevia” vir the given link SourceForge tells me that it could not find any mirror for that file. What is wrong?

    Or do i have browse SourceForge and choose the version 5.x?



  51. Robert Lincoln says:

    I’m trying to compile the SysTools packages (DXE7) and I get an error when trying to build the first package:


    [dcc32 Fatal Error] StDict.pas(194): F1026 File not found: ‘C:\Users\……\SysTools\packages\Delphi\System.Hash.dcu’ (unit scope “System” indicates OSX32, Win64, Win32 only)

    Am I doing something wrong, or not setting some flag properly?


  52. Bryan Oliver says:

    Trying to get lockbox3 to install on Delphi Rad Studio 10 comiple everything but when I add the package no components inside.

  53. Hi Roman,

    I have just been attempting to download from Sourceforge and I am told: “Unable to find any mirror information for the “/” file. Please select another file. Can you please advise where I might obtain that file?

    I am using Delphi XE5 on a W7 Pro machine.

    Many thanks,



    • roman says:

      Hi Kim,

      I moved all libraries to GitHub. You can find them under, this page redirects you to GitHub.


Leave a Reply

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

Time limit is exhausted. Please reload CAPTCHA.