Release Notes

Flex2Crystal v4.0.9446.0

Flex2Crystal v4.0.9446.0 was released 2022-08-02. This build contains only bug fixes.

Fixed Issues

  • F2C-78 Deployment License Error: Deployment installs were firing an exception when the Flex2SQL license is missing instead of reporting an error.

  • F2C-79 DataDefParameterFieldsObject: The function DataDefParameterFieldsObject wasn’t properly retrieving parameters if the DataDefTableObjects function had been called first.

Flex2Crystal v4.0

Flex2Crystal v4.0 is the first version to support 64-bit editions of Dataflex. In 2020 SAP released a 64-bit only edition of SAP Crystal Reports. This is the studio or designer used to create/edit reports. There is still a 32-bit compatible version of SAP Crystal Reports for Visual Studio runtime (this is what Flex2Crystal uses). This means that v4.0 of Flex2Crystal will work across many versions of Dataflex including older 32-bit only editions and the latest 32/64-bit editions. This version also includes new features and bug fixes as outlined below.


64-bit releases of Crystal Reports do not support Crystal Data Objects (CDOs). This means that reports using TTX schema files that receive their data via the CDO interface will not work when running in a 64-bit environment. Instead, an error will be generated: “Failed to load database information”. There are two options for this scenario: either the entire stack must remain 32-bit (which includes DataFlex, Crystal Reports and Flex2Crystal), or the report must be modified to use ADO.NET instead.

New Features

  • No deployment license needed: Flex2Crystal v4.0 is now deployed alongside our Flex2SQL drivers with no additional license needed. You must still purchase a Developer license, but there is no deployment license for Flex2Crystal 4.0. Flex2Crystal 4.0 can only be used with applications that are using Flex2SQL. You must be logged into a server using any of our Flex2SQL drivers for Flex2Crystal v4.0 to run. On development stations, a license is still required.

  • 64 bit Support: Version 4.0 of Flex2Crystal is the first release to support the Crystal Reports 64-bit runtime. This allows reports to be called from Dataflex version 2020 and greater using the DF 64-bit runtime. Note that there are some cases where running an older report against the 64-bit runtime may require updating that report to use 64-bit data sources. For Crystal Reports accessing a Microsoft SQL Server using the OLEDB driver, no update should be needed. For more details, please see this page.

  • Use older Dataflex based Crystal Reports: Flex2Crystal v4.0 contains a new feature to make the transition to Flex2Crystal easier. We’ve now included a procedure that can be used to connect older reports linked to Dataflex tables to their new SQL counterpart. So for instance, a report accessing 10 dataflex tables can be left the same and made to connect to equivalent Oracle or MS SQL tables with a small program change! For more information regarding this new feature, please see this page.

  • Access to parameter default values: Crystal parameters can have a default value. Some developers want to display or use this value from Dataflex. Unfortunately this required a complex internal casting that Flex2Crystal didn’t support. We’ve added support for this in version 4.0.

Fixed Issues

  • F2C-10 ComDeleteGroup generates an error: This method wasn’t properly supported and shouldn’t have been used. We now support two calls to help in deleting groups: DeleteGroups which will remove all groups from a report, and DeleteNthGroup which will delete the ordinal group passed.

Flex2Crystal v3.2

New Features

  • Installer can now be run with an option to install for deployment. This means you no longer have to manually setup Flex2Crystal with your application installation. Please see the Deployment section for more details.

  • Flex2Crystal now works with Crystal Reports v13.0.25 (Service Pack 25) and this is the version installed by default.

  • Added IO Stream Support.

  • Performance improvement of 5-10%.

  • The Flex2Crystal DLL is now 45% smaller resulting in better load time.

  • Example app upgraded to use Flex2SQL v16 and SQL Server Express LocalDB 2017.

Fixed Issues

  • Fixed ADO.NET crash issue - Every application now requires a .config file if using ADO.NET to enable v2 compatibility in .NET. This is a new requirement for Crystal v13 SP 18 (v13.0.18) and greater * The ADO.NET implementation used internally has been upgraded in Crystal Reports, but SAP is still using the v2 interface. To allow this to work in Flex2Crystal you’ll need to create a simple .config file that sits beside your exe that tells Windows to enable the v2 interface at runtime. If you’re not using ADO.NET you don’t need this.

  • Fixed CSV/Tab Separated Value support. * The define wasn’t correct for TSV and has been fixed.

  • Fixed PKG files to be compatible with DataFlex 19.1. * You will still receive warnings about using old packages, but this is because Data Access has placed warnings into the Crystal package files. You can ignore these warnings as Flex2Crystal overrides these old classes.

  • Fixed ComColorMode crash

  • Fixed some memory leaks related to COM objects being left behind after running a report * Flex2Crystal implements hundreds of COM interfaces to be compatible with what was exposed through just a few dozen interfaces before. We’ve fixed some memory leaks in these interfaces. There are still some very small memory leaks left, but these are in Crystal Reports itself, not Flex2Crystal.

Flex2Crystal v3.1

New Features

  • Alternative Print Engine available via pbUseNewPrintSystem property in the cFlex2Crystal class. Set this property to True to enable the alternative print engine if you’re having problems with the print engine built into Crystal Reports.

Fixed Issues

  • Flex2Crystal Developer now properly detects DataFlex 18.x

Flex2Crystal v3.0

New Features

  • Support For Crystal Reports 2016: Flex2Crystal 3.0 adds support for Crystal Reports 2016 and contains support for new functions along with support for new Crystal Reports distribution packages. Users planning to use Crystal Reports 2016 must use Flex2Crystal 3.0. Older versions of Flex2Crystal will not work with Crystal Reports 2016.

  • Support For DataFlex Web Apps: Modified Flex2Crystal packages to support DataFlex web applications. #IFDEF IS $WebApp conditional compilation directive was placed in various sections of the Flex2Crystal packages to make sure that they compile with DataFlex web application source. These changes will allow developers to serve existing Crystal Reports in their web applications without any changes.

  • Support For Automatic Database Verification: Flex2Crystal automatically verifies that the report definition is in sync with the referenced database table. This eliminates the need for tools like “Mass Verify” to verify changes every time a change is made to the table structure.

  • Support For Displaying Group Tree: ComDisplayGroupTree can now be set to TRUE allowing the Group Tree area to be displayed when a report is rendered in the Viewer.

  • Support For New Sorting Functions: * Added new definitions in Flex2Crystal packages: * cComIF2CDatabaseFieldDefinition and cComF2CDatabaseFieldDefinition * cComIF2CISCRSort and cComF2CISCRSort * cComF2CSortFields * cComIF2CField and cComF2CSortField * cComIF2CGroupsClass

Fixed Issues

  • FIXED: DeleteSortOrder did not properly delete all segments of the existing sort.

  • FIXED: Adding sort fields to main and sub-reports did not work properly under some conditions.

  • FIXED: Sort controls on reports which allow users to interactively sort records without needing to refresh data did not work properly for some data sets.

  • FIXED: Connections were not being dropped when reports were closed, leaving orphan connections. Now, all database connections are closed properly on closing the report.

  • FIXED: Sorting did not work properly in formula based group sorts. To address this issue, support for a new function pbFormulaGroupSortSupport was added.