In Customizer Plus, the Compatibility resource is available for structure files and executables. It allows the developer to modify the behavior of certain routines allowing them to act the same as they did in version 2.
The behavior of the routines listed in the table below has changed between version 2 and version 6 of 4th Dimension. To ensure complete compatibility with existing and future databases, the Compatibility resource allows you to choose how these routines behave in version 6 databases. The Compatibility dialog box gives the developer the option of retaining the previous version’s behavior (v2) or adopting the new version’s behavior (v6).
If the structure file has been converted from version 2 to version 6, all of the options are set to v2 by default. If the structure file was created under version 6, all of the options are set to v6 by default.
The following table discusses the way each routine behaves in version 2 and version 6:
Routine | Version 2 Behavior | Version 6 Behavior |
ON EVENT CALL | Communication with the User/Custom menus environment requires use of interprocess variables | |
Mono-transactions* | Omitting* parameter to the START TRANSACTION command starts a mono-transaction in which data is locked to other users. | START TRANSACTION always starts a multi-transaction. During the transaction, data is not locked to other users. |
Semaphores | A semaphore set to TRUE returns TRUE for all processes (including the process which set it) and can be cleared by any other process. | A semaphore set to TRUE by a process returns FALSE for that process and cannot be cleared by any other process |
Automatic flush after transaction | Cache is automatically flushed to disk at the end of a transaction. | Cache is not automatically flushed to disk at the end of a transaction. |
Activated / Deactivated | No Activated and Deactivated execution cycles. | Activated and Deactivated cycles are generated. |
*It is recommend that the developer select v6 for the START TRANSACTION command and modify the application to use this mode.
Note: This feature is maintained for compatibility reasons, but it is strongly recommend that the developer adapt the database to take advantage of version 6 features.