Running TurboCash on Linux

By   |  November 17, 2004

When most businesses look to migrate part or all of their business across to Linux, the first thing they want to know is whether their financial systems will survive the move. And apart from a few notable exceptions (for example the SA-developed Cubit and others which come with a hefty price tag) the answer is no.

Yet there are many good accounting applications on the Windows platform. One of the more popular of these is TurboCash, another South Africa-developed accounting application that has a long history.

Over the 18 years of its existence TurboCash has established itself in a number of global markets including those of the UK and the Netherlands. Today its features include a point-of-sale system, asset tracking and all the standard accounting features you would expect. The only problem, for us however, is that it is written almost entirely in Delphi and doesn\’t run on Linux.

There is, however, a way to get TurboCash to run on Linux and although it is (for the moment) based on the use of the commercial CrossOver Office work is already been done to get it to run under Wine.

TurboCash
For those not familiar with TurboCash, it is an accounting program written almost completely in Delphi. TurboCash was originally developed by Pink Software, the same company that developed the very popular TurboCad.

In July 2003 TurboCash adopted the GPL-licence and is translated into a number of languages including Afrikaans. (More TurboCash history and a timeline)

Wine
Started in 1992, Wine is a Win32 application compatibility layer for Intel i386 UNIXes (Linux and BSD, for example). It implements the Win32 API, which means you can run an application without changing the binaries on Linux.

Wine was originally licensed under a BSD-type licence and a number of spinoffs of Wine have since been developed, most notably the commercial CodeWeavers\’ CrossOver Office (at work on porting office apps to Linux) and Transgaming\’s Cedega (at work on porting DirectX games to Linux). Wine subsequently switched to the Left-GPL or Library GPL licence.

Porting TurboCash to Linux
When it was initally planned to port TurboCash to Linux, Borland\’s Kylix was the first possible candidate. Unfortunately Kylix is very bug-ridden and memory-leak prone, so TurboCash on Linux was put to hold (especially after Borland\’s decision not to update and maintain Kylix).

At the time the to port TurboCash to Linux included Freepascal. But porting the Delphi code to Freepascal would be ardious. Another drawback was that you could only develop Freepascal applications through third party applications like Kdevelop. Unfortunately not a lot of those third party applications are available on Windows, the main — if not the only — TurboCash development base).

The other option was to look at using Wine and CrossOver Office.

The process of porting TurboCash to Wine (here) is somewhat strained because of Wine\’s incompatibility with BDE, the database normally used by Delphi applications. TurboCash uses BDE so porting to Wine was a considerable stumbling block until TurboCash uses another database.

With these issues in mind Mike van Niekerk and Pieter Valentijn, the main Dutch developer for TurboCash, started working on a CrossOver Office version that would work until a native Linux version of TurboCash is available.

Step-by-step to running TurboCash using CrossOver Office:
This uses CodeWeavers\’ CrossOver Office. It is a commercial application that you will need to pay for.

Requirements
1. A Linux compiled with gcc2.9+
2. A running X-server.
3. CodeWeavers CrossOver Office. At least vertsion 2.1. Version 3 is recommended. Obtain it here. It will be referred to in the rest of this document as \”CXOffice\”. A 30 day trial is obtainable here
4. TurboCash 3.74 installer files. Obtain them here.
TurboCash will be referred to in the rest of this document as \”TC\”.
5. WineTestMenus.exe update program. Get it here
6. Be sure to install Internet Explorer 6 SP1 through CXOffice\’s setup program (we need those dlls installed by the IE-setup). If you do not know how to do this go to here.
7. Get the install script here.
8. Get the run script here.

The following is taken for granted:
You have already installed Linux with a running X-server. You have already installed CXOffice. You have already installed Internet Explorer. You know how to open a filebrowser. You know how to make a new text document, and to save it properly.

Install it
1. Edit the TCInstall.sh file with your editor of choice.
2. Change \”pathtowine=\”, \”binrootwinedir=\”, \”downloaddir=\”, \”tcexe=.//TCASH373aFullProgram.exe\”, \”mnuexe=.//WineTestMenu.exe\” to something more appropriate to your setup. To know which is which and see the comments in the text file.
3. Save the file.
4. Run the TCInstall.sh by executing it in a filebrowser, or in a console application.
5. Follow the on-screen instructions.

Setting up the run script
1. Edit the TurboCash.sh file with your editor of choice.
2. Change \”pathtowine=\” and \”instplace\” to something that is more appropriate to your setup
3. Save the file.

Running TurboCash
1. Run the TurboCash.sh by executing it in a filebrowser, or in a console application.

There is a known bug, however, which is caused by a Delphi \”undocumented feature\” (read bug) with regard to creating and destroying menus which results in non-working menus. The bug has been documented here and here.

This bug was on CodeWeavers and normal Wine. It is now fixed on Wine but not on CXOffice.
To circumvent this bug you have to destroy and recreate the menus yourself. See discussion and solutions here

Comments

2 Responses to “Running TurboCash on Linux”

  1. Karl Fischer
    November 19th, 2004 @ 12:00 am

    I also have done this a while ago. I used Cedega. It is the cheaper solution.

    http://shell.fischer.org.za/Pastel1.jpg

    http://shell.fischer.org.za/Pastel2.jpg

    Here\’s Pastel, Pastel is a tad more important because of it\’s market share. It\’s a shame Pastel is ignoring me in this regard.

  2. Pieter Valentijn
    December 12th, 2004 @ 12:00 am

    Great to see it on this board :-) Im sure we\’re going for that run on pure wine in the new year. I just need some projects to put food on the table and make sure I can put more time in to TurboCash. But Im sure the new year will bring this. So I hope to speak to you again Mike. Greetings Pieter Valentijn.

Comments are closed