Platform Frequently Asked Questions

Can a DA application work in both a single tier and n-tier environment?

Yes, we have the LocalServer and LocalChannel components that allow you to put both middle and client tier into the same application and have them communicate internally.

Basically, what you need to do is this:

  • implement your normal multi-tier application from the standard DA template,
  • create a third project and add all units from the client and server to it,
  • add a LocalChannel in your client's Data Module,
  • add a LocalServer in your server's data nodule,
  • add some code (e.g. by using a define) that hooks up the LocalChannel to the LocalServer and uses that channel for the DA communication, when building the third (single-tier) version of your application.

How can I enable debugging of Data Abstract for .NET sources?

To enable debugging of Remoting SDK for .NET or Data Abstract for .NET sources you have to do the following steps:

  • Open solution.
  • Open Debug->Debugging->General and turn off options Enable Just My Code (Managed only) and Step over properties and operators (Managed only)
  • Open Debugging->Symbols and add new symbol file (.pdb) location. It should point to Remoting SDK (or Data Abstract) assemblies (f.e. C:\Program Files\RemObjects Software\Data Abstract for .NET\Bin).

Please note that path should be the same as path to DataAbstract assemblies in References.

  • Add breakpoint under the line which you want to debug.
  • Run application.
  • Open Debug->Windows->Modules. You will see used assemblies.
  • Open context menu for one of SDK or Data Abstract assemblies and issue Load Symbols From->Symbol Path.
  • After this on breakpoint click F11 and you will debug Data Abstract source code.

How do I create an ISAPI DLL with Data Abstract?

We don't actually have a specific ISAPI template for Data Abstract.

Basically, you have two options for getting a DA ISAPI server; which one is best depends on your level of familiarity with RO/DA and how much of your project is already done.

Option 1 is to start with a normal Client and a New Custom DA Server DA template, and implement your server. This will give you all the DA wizards, and everything else you need. When you're done, create a new RO ISAPI project in the same folder and add all the units from your DA server to it. Also remove the {#ROGEN in the new ISAPI project, and copy the one from your DA server (so your ISAPI now references the same RODL file).

Basically you now have two projects with identical server code, one VCLApplication, and one ISAPI.

This, of course, works with any other server type RO supports.

Option 2: if you are familiar with DA and its internals, simply start with a fresh RO ISAPI project and add the DA logic yourself. Drop TDASchema, TDADriverManager and TDAConnectionManager components. Add "DataAbstract4.RODL" as a "use" to the RODL file in your server, and manually define a new service that descends from the base DA service.

Once that's done, you're in the same position as you'd be with a DA template - except that your server is an ISAPI.

How does Data Abstract support Mono?


Data Abstract supports development within the Mono Project framework. The Mono Project is an open development initiative sponsored by Novell to develop an open source, UNIX version of the Microsoft .NET development platform. Its objective is to enable UNIX developers to build and deploy cross-platform .NET applications. The full functionality of the Remoting SDK and Data Abstract is now available to developers working within this environment.

Installation of RemObjects components for Mono

To utilise the .NET framework from the Unix/Linux OS, it is first necessary to download and install the Mono framework from The components for Data Abstract and the Remoting SDK for .Net can then be installed by copying them to a Linux box. The final step in the installation procedure is to register all the libraries for Mono using the gacutil -i command in the Linux box as below:

  • gacutil -i RemObjects.SDK.dll
  • gacutil -i RemObjects.SDK.Server.dll
  • gacutil -i RemObjects.DataAbstract.dll
  • gacutil -i RemObjects.DataAbstract.Server.dll

Setting up the Mono demonstration project

A detailed Mono example project is included as part of the latest release of the RemObjects product suite. After completion of the installation process, the demo is available to highlight the use of Data Abstract within the Mono environment. To utilise this, the following tasks must be completed:

  • Install the Firebird SQL Server.
  • Adjust the server project .daconnections file to reflect the correct host, username and password.
  • Run the script to build the client and server.

Additional Information

The full functionality of the .NET version of the Remoting SDK and Data Abstract are available for use in the Mono environment after completion of the installation process above. Further details on the features of each application are available at

For additional information on the Mono project see

How to install Indy on Lazarus under OSX?

You need a current development snapshot. It can be obtained from .

You should install /Lib/indylaz.lpk package.