Preferred solutions to store multiple temporary DataSets


The organisation itself is a long-time Delphi FR user, but personally I am still quite new to it. 

Now I am working on an old FR report that is causing head-ache. First of all, I am sorry, but it is not possible to show the application code at all. 

Some back-ground info: 

-Delphi 11.x, FR VCL Standard Team v.2022.3.0

-The data for the report is first collected by 4 separate SQL queries from SQL Server and stored into 4 separate TfrxUserDataSets.

-It is a multi-band report with 3 Child bands and 3 Subreports.

-The problem is that the report does not show all data that is stored in the ClientDataSets, but is skipping data in a seemingly random fashion.

-After some diagnostics the gut feeling is that the problem lies in the way all these 4 DataSets are simultaneously traversed back and forth (OnCheckEOF, OnFirst, OnGetValue, OnNext, OnPrior etc.)

-We are considering rebuilding the way the data is stored for the report with some more efficient, reliable and modern way, that could be applied to other reports in the future, too.

The question is: What would you suggest as the preferred ways for storing the data temporarily for the report?

Many of the users are running the applications in a physically restricted environment (Citrix) which means we have to take in to consideration the RAM usage, for example. 

Another goal is to avoid additional license fees.

We would very much appreciate experienced FR users' advise on this matter.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.