Borland C++ Builder X 1.5

My impressions having used Borland's C++ Builder X for Series 60 development. What's it good and bad at? Where is this tool going now that Nokia has brought the Metroworks toolset in house?...

I have been using Borland C++ Builder X 1.5 since April 2004. Prior to this being released, the Metroworks, Visual Studio and C++ Builders IDEs didn't really do much for the Symbian Series 60 developer. They just called the right perl scripts to build applications and didn't produce resource, UI or framework code for the developer.

The first thing you notice compared to Borland C++ Builder X 1.2 is that the IDE has been completely re-written (in Java). Speed is acceptable (on a powerful PC). However, I have started to see a slow down recently as my projects are getting larger.

Borland C++ Builder X 1.5 does a great job of creating framework code for the Series 60 developer. I have found that the easiest way to create applications is to use the View architecture. (See Series 60 Application Framework Handbook). This simplifies the program structure and makes code for specific screens easier to find. Care must be taken to place additional code in the right place otherwise it gets overwritten by the IDE. For example, Within each container, additional initialisation for a screen must be placed in ConstructL, after the InitComponentsL() call and not in InitComponentsL() itself otherwise it will get overwritten.

Even now, version 1.5 only supports a subset of the Symbian UI controls. For example, the IDE doesn’t support CAknSingleLargeStyleListBox which is needed for displaying large thumbnails. Hence the code for this has been created manually. This isn't too difficult if you get the IDE to create a similar control (say CAknSingleStyleListBox) and base your code on this.

One annoying feature is that I haven't found a way of changing the IDE supplied variable names for screen controls. The first label will always be iEikLabel1, the second iEikLabel2 etc. This makes it impossible to create meaningful variable names.

Debugging strings is a bit cumbersome. Firstly, you have to view the variable in the lower window pane by selecting the blue tab on the left hand side. Next you have to note the address to the right of the variable, preceded by a colon. Finally, you open View CPU View and right click the memory dump window to go to the same address.

Unlike previous versions of the Borland IDE, the SDK documentation is not available directly from the IDE menu bar. To view the SDK, browse using file explorer to Symbian\Series60_1_2_B\Series60doc and open start.chm.

There’s a useful tutorial how to do Development with Borland C++ Builder X.

It will be interesting to see where Borland goes with C++ Builder X. I would like to see support for UIQ framework code. Nokia have recently announced the transfer of the Metroworks toolset to Nokia.

The press release says...

"...is expected to benefit the entire Symbian ecosystem, resulting in faster time to market by providing a single source for platform and device development processes."

If Nokia enhance the Metroworks tools to make Series 60 development easier and makes them available free via Nokia Forum then I am not sure where this leaves Borland.

Also, I am skeptical that it really will "benefit the entire Symbian ecosystem" as it's Nokia, not Symbian, that have acquired the toolset. As now, with Borland C++ Builder X 1.5, UIQ development will remain the poor relation in terms of tool support.