Blogs
The design of the new 64-bits version
28 February 2020
Why a new version? Since some time, there are two versions of CHEAQS
Next available on the website, the regular version and a ‘research
version’. Let me tell you why I decided to write a new version.
A few years ago, I realized that the version I was working on would
sooner or later be outdated, because it was a 32-bits program. Upgrading
the source to 64-bits was not as straightforward as it might look,
because the compiler I used (Powerbasic) is not available in a 64-bits
version and may never be. So I had to re-write or convert the program
anyway. I took that opportunity to think about features I had not
implemented yet. Then I made a list of new functionalities I wanted the
new program to have. Let me share this list with you. First of all, some
technical issues.
- The program should be 64 bits.
- The program should be entirely written in Unicode and be able to handle Unicode strings and folder paths.
- The program should be good looking also at high DPI-values (dots per inch).
For the calculation options I formulated the following requirements.
- The program should be able to handle different temperatures.
- The program should have an additional method for computing conditional constants at high ionic strength.
- An option had to be included to automatically adjust the charge balance in order to achieve an electrically neutral solution.
- A better or at least additional adsorption had to be implemented.
- The new version should have a larger database including citrate, DTPA and twenty amino acids.
- The program should have a mechanism to handle different databases.
- The program should have a real print preview.
- There should be an option to view two or more datasets at the same time to compare them.
- A check had to be made for additional ways to improve calculation speed.
- The program should have a mechanism for multi-language support.
Finally, a new interface for the main menu was needed.
With this wish list I started the design and planning of the new
version, in 2017. Since then, I worked on building the new version and
implementing these features. I am not there yet but I make progress.