Replacement for Clarion's browse grid control

I would look at using native API calls for controls and then have a class to bind the data from the filemanager/files to the window control(s) on a per thread basis, per control instance basis.

A class would be ideal because of the properties it brings to the table, like instantiation, isolation of variables, and reusability.

Some GUI controls will have similar properties with other GUI controls, eg the scroll bar, added to some controls, in both horizontal and vertical format. This is why I say a class for individual controls would be ideal.

The manifest file will state what version of ComCtl32.dll is using.

<dependency>
    <dependentAssembly>
        
    </dependentAssembly>
</dependency>

It will be a version 6 because Windows visual styles/themes are used, if they are not, it might drop back to a version 5.

Or if using Process Explorer

  1. Run your Clarion .exe.
  2. Open Process Explorer, find your executable in the list, and double-click it.
  3. Switch to the DLLs tab.
  4. Scroll down to comctl32.dll.
    • A path ending in \WinSxS\...\comctl32.dll indicates Version 6.
    • A path ending in \Windows\System32\comctl32.dll indicates Version 5.

Be under no illusion, this activity could be considered close to being a major part of the Clarion Runtime, but once you have done this, you can then look at other GUI libraries. Most will probably be familiar with Qt and GTK through Linux distro’s.

Building additional “default” functionality into a control also becomes easier. Like the Text control could have functionally this built into it, in particular the Text Formatter.

Edit.

This is an example of data binding whilst porting to Linux using an Ai LLM model, I think Anthropic Claude.

In this example, the Azure cloud is being used as the always on database, and until Starlink appeared, would have been a risky bet because large parts of the world still has no internet access or dialup at best, thus making the case for offline storage a must.

OS Native File access/ODBC access can become things like JSON-RPC which are built on the raw communication protocols TCP/IP.