VirtualTree and XE6

I added support for Delphi XE6 and CBuilder XE6 to the VirtualTree. You can find the latest version at Google Code or directly at SVN.

Posted in C++-Builder, Delphi, RAD Studio XE6, Third Party Components | Comments Off on VirtualTree and XE6

Orpheus and C++Builder XE5

I just added support for C++Builder XE5. You can find all necessary files in the SVN repo in the subfolder CB XE5. Since I do not work with C++Builder any experiences are welcome.

Posted in C++-Builder, Delphi, RAD Studio XE5, SourceForge, Third Party Components, TurboPower | Comments Off on Orpheus and C++Builder XE5

CodeRage C++

During the last weeks some guys contacted me and asked about C++Builder and Turbo Power components. I told them that they can use the Turbo Power components in C++Builder in the same way as in Delphi.

Nevertheless I would recommend to join the next CodeRage session. It starts on February 25th and end the next day. You can register here: CodeRage.

Posted in C++-Builder, Delphi, RAD Studio XE5, Third Party Components, TurboPower | Comments Off on CodeRage C++

Unit Testing RAD-In-Action webinar

The former EMBT employee and Delphi MVP Nick Hodges presents a webinar about Unit Testing. He shows the old DUnit framework, compares it to the new DUnitX one and shows how to use DelphiMock objects.

I have to say automatic that automatic tests are a topic many developers simply ignore. They check something once from inside the IDE and then are surprised if a changeset in the future breaks existing code.

That’s why Nick’s webinar is a must for every serious Delphi developer.

You can register for it here.

Posted in Uncategorized | Comments Off on Unit Testing RAD-In-Action webinar

Coding In Delphi

The well known Delphi MVP and former Embarcadero employee Nick Hodges has written a great Delphi book “Coding In Delphi”.

I had luck and could get a preliminary version: In my opinion it is a set book for every Delphi Developer regardless Junior or Senior Developer. You can find more information here:
https://leanpub.com/codingindelphi
http://gplus.to/codingindelphi

As I mentioned yesterday the easiest way to get a copy of the book is to upgrade to XE5:
http://www.embarcadero.com/radoffer

Posted in Delphi | Tagged | Comments Off on Coding In Delphi

Upgrade to XE5

Currently Embarcadero offers to upgrade to Delphi XE5 or C++ Builder XE5 from any older version.

I think that you must update to XE5, specially those still using older versions like Delphi 7 or Delphi 5. Since I’m maintaining most of the free components migration is easy.

Have a look at RAD Offer:

Upgrade to XE5 from any earlier version (Upgrade price from any previous version).
Bonus pack with up to $1,150 in free software.
Step up to Ultimate Edition Free from Enterprise.
Get a free C++Builder iOS upgrade when you buy qualifying C++Builder XE5 or RAD Studio XE5 tools.

Posted in Delphi, RAD Studio XE5 | Comments Off on Upgrade to XE5

TurboPower tpsfadmin Account

This week Nick Hodges moved the tpsfadmin account to my person.

That means that I’m currently the admin of the following old TurboPower projects: TurboPower Abbrevia, TurboPower Async Professional, TurboPower Async Professional CLX, TurboPower B-Tree Filer, TurboPower Essentials, TurboPower FlashFiler, TurboPower Internet Professional, TurboPower LockBox, TurboPower Object Professional, TurboPower OfficePartner, TurboPower ShellShock, TurboPower String Resource Manager, TurboPower SysTools, TurboPower SysTools for Kylix, TurboPower Visual PlanIt, TurboPower XML Partner.

As you can imagine I cannot maintain all these projects. That’s why if someone is interested to give me some help don’t hesitate to contact me.

Posted in SourceForge, Third Party Components, TurboPower | Comments Off on TurboPower tpsfadmin Account

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:

{$IFNDEF NEXTGEN}
function StrLen(const Str: PAnsiChar): Cardinal; overload; inline; deprecated 'Moved to the AnsiStrings unit';
{$ENDIF !NEXTGEN}

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:

  {$IF RTLVersion >= 25} 
    {$DEFINE HasAnsiStrings}
  {$IFEND}

This means I could write

uses
  {$IFDEF MSWINDOWS}
  Windows,
  {$ENDIF}
  SysUtils,
  {$IFDEF HasAnsiStrings}
  System.AnsiStrings,
  {$ENDIF}
  AbBitBkt, AbCharset, AbDfBase, AbDfDec, AbDfEnc, AbExcept, AbResString;

...

    Len := {$IFDEF HasAnsiStrings}System.AnsiStrings.{$ENDIF}StrLen(Buff);

...

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.

Posted in Third Party Components, Uncategorized | Tagged , , , | Comments Off on RAD Studio XE5 and Abbrevia

RAD Studio XE5 and Orpheus

As I mentioned in my last post about the VirtualTree I will today show how to move the Orpheus 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 Orpheus. Orpheus 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.

Orpheus is now released under the Mozilla 1.1 license and it is hosted at SourceForge.

I’ve chosen Orpheus for my test with RAD Studio XE5 because it is originally written for Delphi 1. This means that I would like to prove that RAD Studio XE5 is compatible to old Delphi versions.

Like moving the VirtualTree to RAD Studio XE5 I checked out the latest version, copied the “Delphi XE4” folder and renamed it. After that I opened the “Orpheus Delphi XE4.groupproj” and also renamed it. Then again I changed the suffix from 18 to 19 and clicked on compile. And everything compiled without a single change of code!

Again, RAD Studio XE5 is compatible to very old code, I guess that it will be easy to recompile all my Delphi projects.

In the next session I will migrate another TurboPower library to RAD Studio XE5, the compressing library Abbrevia. So stay tuned!

Posted in Uncategorized | Comments Off on RAD Studio XE5 and Orpheus

RAD Studio XE5 and the VirtualTree Component

Today I will show how to move the well known VirtualTree component to the new RAD Studio XE5 version.

But before I would like to point out that it is a great honor for me that Embarcadero has given me the permission to show my first experiences with the new RAD Studio XE5 product.

RAD Studio XE5 is the successor of RAD Studio XE4. Like RAD Studio XE4 it supports the Win32, Win64, OS X and iOS platform. In addition it also supports the Android platform. Jim McKeeth and Marco Cantu already blogged about it.
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 the VirtualTree. First, I checked out the latest version from Google Code. After that I navigated to the “RAD Studio XE4” directory. I copied it and renamed it to “RAD Studio XE5”. In this directory you can find the “RAD Studio XE4.groupproj” project group. I opened it in the RAD Studio XE5 IDE and renamed it to “RAD Studio XE5.groupproj”. Since the including packages are XE4 packages they have the lib suffix 18 which I changed to the XE5 suffix 19. At last I compiled the packages and installed them into the IDE. That’s it!

As you can see it will be very easy to move existing projects to RAD Studio XE5.
In the next session I will migrate the well known component suite Orpheus to RAD Studio XE5, so stay tuned!

Posted in RAD Studio XE5, Third Party Components | Tagged , , , | Comments Off on RAD Studio XE5 and the VirtualTree Component