This section describes for developers a fairly quick way of upgrading existing FF2 applications to NexusDB. The steps involved, at a high level, are:
1. Copy and convert FF2 tables to NexusDB tables in a new directory (alias) using the converter utility.
2. Replace and update FF components in your application to NexusDB components.
3. If you used TffDataDictionary, then you may have to convert some of your source code.
Let us now go through the conversion steps in detail.
Step 1 - Database Conversion
This is the easiest step. Simply run the nxImporter.exe utility. Don't forget to first create an output alias to pump the new tables and data into.
Step 2 - Component Substitution
The following quickly summarizes the component substitutions that you have to make. Note that the TffClient (TffCommsEngine) and TffSession components are replaced by a single TnxSession component.
FlashFiler |
NexusDB |
TffClient, TffCommsEngine |
Remove; merged into TnxSession |
TffSession |
TnxSession |
TffDatabase |
TnxDatabase |
TffTable |
TnxTable |
TffQuery |
TnxQuery |
TffServerEngine |
TnxServerEngine |
TffRemoteServerEngine |
TnxRemoteServerEngine |
TffSQLEngine |
TnxSQLEngine |
TffServerCommandHandler |
TnxServerCommandHandler |
TffLegacyTransport |
TnxWinsockTransport or TnxNamedPipeTransport |
TffEventLog |
TnxEventLog |
TffSecurityMonitor |
TnxSecurityMonitor |
TffThreadPool |
Remove; not applicable |
Step 3 - Source Code Conversion
Most of the source code changes that you will need to make are related to the data dictionary object. Another change you need to be aware of is that the SessionName and DatabaseName properties no longer exist. Similarly, there is no longer a Client component at all.
For most of the other changes, we provide a simple automatic conversion utility for renaming all the FF2 related names and properties to the NexusDB equivalent. The utility is called Convert_Src2Nx.dpr and is located in the Convert subdirectory of your NexusDB installation. Please note that you almost certainly still have to some manual changes to make the application compile. At the moment the best advice is to run the code converter tool and then fix up the other issues by the old "compile and go to next syntax error" technique!
Finally, you will have a clean compile and go! You should now have converted your FF2 application to NexusDB. As with all such tasks, the first project is the hardest – you should find subsequent applications easier to convert.
Demo of converting the data dictionary object_
Is it possible to add an example on how to convert the addindex routine where FF uses tffFieldlist and tffFieldIMList ??