CHT (Clarion Handy Tools)
Templates, Classes, Utilities, Apps, Projects

JULY 28, 2021

Build 25C.02.00 - Newest HTTPS Installer/Updater [Ver 7.0]


Our latest "multiple-version-installer", [Ver 7.0] is able to install any or all of our CHT Clarion 10 version, CHT Clarion 11 version or our CHT Clarion 11.1 version and now a backward compatible Clarion 9.1 version.

We know from the variety of CHT downloads happening in the last month, that many of you are installing CHT to multiple Clarion IDE's located on your development computer(s). More power to you if you're doing this and you have found some new advantage, opportunity, or convenience by doing this.

We keep a suite of 120 or more CHT applications compiling separately, at different times, on each of our Clarion IDE versions using a copy of HNDCMP.APP (compiled with the target IDE version). This is our Clarion-Version compatibility check. It points us to template and/or class differences required for a given IDE version. We incorporate these different requirements into the templates and classes directly such that all 4 Clarion IDE's use EXACTLY the same set of CHT templates and EXACTLY the same set of Clarion classes.

Using /ConfigDir=

We keep our various IDE versions self-referencing their uniquely configured CLARIONPROPERTIES.XML and other IDE configuration settings files, by using the /CONFIGDIR= startup options on the Clarion.exe command line or Clarion.exe startup icon's Target folder setting.

Clarion command line examples: (Your personal Clarion-version root directories will differ from our examples.)

c:\c91\bin\Clarion.exe /Configdir=c:\c91\data\options
c:\c10\bin\Clarion.exe /ConfigDir=c:\c10\data\options
c:\c11\bin\Clarion.exe /ConfigDir=c:\c11\data\options
h:\C111\bin\Clarion.exe /ConfigDir=h:\c111\data\options

Unless you do this, your various Clarion IDE versions will share a global copy of the "ClarionProperties.XML" and other configuration .XML files like "Clarion-Tools.XML". This global configuration directory chain is located at for example:


This global config does not, as near as we can tell, distinguish between DOT versions, for example, between 11.0 and 11.1 nor between 9.0 and 9.1. And clearly it is not able to distinguish between two separate but identical copies of the IDE located on two separate drives nor in two separate install directories.

By using the /CONFIGDIR= option on all of your Clarion.EXE startup command lines, you gain full and individual control over the configuration of each and every IDE instance that you may be running.


The latest version of our installer CHTHTTPSSETUP.EXE [Ver 7] includes a menu that enables the installation of CHT for Clarion 91 to be performed in a manner identical to other Clarion versions C10, C11, and C11.1.

This uses the current [latest] set of templates and classes as they exist for C10, C11, and C11.1. It also includes the latest versions of our utility apps and demo apps as they exist in C10, C11 and C11.1.

To our surprise, there's little obvious difference between C91 and C10 other than the .DCTs are not directly compatible. We were able to restore from our archives (though not in all cases) the C91-compatible dictionaries. In some cases where the .DCT's for the C10 apps had been modified or expanded or improved from the earlier C91 DCT's we were able to export the .DCTs to TXD from the C10 IDE and import them directly into C91-compatible DCT's from .TXD - all with no loss of GUID values such that the C10 apps compiled flawlessly in the Clarion 9.1 IDE using the newly minted C91 dictionaries.


This application demonstrates a CHT class called HNDSplitter (HNDSPLITTER.INC/.CLW) and three related templates: EmbedHNDSplitter, HandySplitBarHorizontal and HandySplitBarVertical.

The EmbedHNDSplitter extension template is applied to the procedure first. This is the parent of the two related control templates. Then HandySplitBarVertical and HandySplitBarHorizontal can be applied as required by the developer.

This example has applied the ABC resizer to allow window and control resize. The EmbedHNDSplitter template allows for optional interaction with ABC resizer. The default setting is to disable this ABC resizer interaction. When ABC resizer is enabled, it's up to the developer to apply that template to the procedure and configure it to their liking.


The CHT global equate ClarionVersion is given a new value of 91 when your Clarion project is compiled with Clarion 9.1. While we were at it, in anticipation of further backward compatibility work, we've roughed in also ClarionVersion equates for Clarion 9 and even Clarion 8.

ClarionVersion EQUATE(111)

ClarionVersion EQUATE(11)

ClarionVersion EQUATE(10)

ClarionVersion EQUATE(91)

ClarionVersion EQUATE(90)

ClarionVersion EQUATE(80)

As you all know, the Templates and Classes that we have been shipping for C10, C11 and C11.1 are identical. This continues with our down-version port to Clarion 91.

The templates and classes contain version specific chunks of code that kick in conditionally when the currently running Clarion version IDE and compiler are in use. Some of that version specific behavior in the CHT classes is controlled by the "ClarionVersion" equate shown above. From inside the template language we are also able to detect the currently running Clarion Version and to trigger version specific code generation where necessary.

We keep a suite if approx 110+ apps incorporating and illustrating our templates and classes in various situations. These apps act both as a test of code viability, and as well, they provide proven examples of how we ourselves use the toolkit.

Every service we provide on our website and in our toolkit is based inevitably on a Clarion application.

** Our web servers are Clarion applications (source examples provided)

** Our toolkit installer(s) are Clarion applications (source examples provided)

** Our numerous Clarion IDE support utilities are Clarion applications
(exact source provided)

** Our HTML pages are created with an XML to HTMl cross interpreter
written in Clarion (exact source provided).

** Our toolkit installation containers are .TPS files and are
created and updated using a Clarion application (exact source provided).

** Our toolkit uploader toolkit app is a Clarion application
(exact source provided).

We decided recently, at the suggestion of two CHT subscribers, to see if we could reproduce 100% of the functionality that we provide in C10, C11 and C11.1 with C9.1. At first we though this idea would be a waste of time. Who still uses 9.1 anyway? But then who are we to judge? Besides, it was a challenge we couldn't resist.

In fact, it turned out to be a fairly simple exercise to get our 100% up to date CHT toolkit working in C9.1. And to compile the exact same apps copied over from C10. (We do all our work still in C10 and simply copy it across to the other Clarion versions for extensive testing).

Since the apps we currently distribute have evolved significantly since C10 went gold, and C91 was set aside, we sure as heck didn't want to re-evolve those old C91 apps through 6-7 years (or more) of evolution to bring them to the state that CHT demo apps are at presently.

It turns out the .APP file for C9.1 is structurally compatible with C10, C11 and C11.1 apps but the .DCT, and .SLN files are not compatible. We're all used to having the next newer version of Clarion convert our .DCT and .SLN files upward. But, in this case, we needed to down-version the .DCT and .SLN files not up-version them.

.SLN and .CWPROJ files are generated automatically when you open an app with these files missing so this is automatic. Nothing to do there.

Down-versioning the .DCT was also pretty easy, though less automatic. Create a blank DCT with the correct name for C91 after first exporting to .TXD from C10 the .DCT requiring conversion. Then import into the empty C91 dictionary earlier exported .TXD file. This creates a dictionary compatible to the C91 IDE loading the app.

In no time we had all 110+ utility and demo applications running in C91. For two weeks or so we've been testing and re-testing with CHT project builder parallel to C10, C11, and C11.1 to make sure they all compile, run and perform identically using C91 as they do in C10, C11 and C11.1.

And they do!

This proves once again, something we've said very nearly from the beginning, that apps created with ABC + CHT templates (only) are readily ported from one IDE version to the NEXT. Now we've proven that even the reverse is true. Apps can be down-versioned as well to the PREVIOUS IDE.

All going as planned, there may be down-versions of CHT for C9.0 and perhaps C8 as well. Though we'll wait and study the user-base reaction to this latest build release. Just because we "can" do something, doesn't mean we should, except that an exercise in down-versioniong offers a unique opportunity to re-evaluate portions of class and template code that perhaps might have been done better.

We hope you realize that our latest [Ver 7] installer provides you with the ready capability of installing CHT to multiple, independent versions of the same Clarion IDE on the same machine.

Why is this important? Well, with more than one installed instance of your favorite Clarion IDE(s) you're more likely to vary the template set(s) registered to that IDE. We encourage you to reserve at least one of those IDE instances for pure ABC with CHT (only) and you learn to shed some of the unnecessary dependencies in other 3rd party stuff that may be impeding your personal Clarion development.

Gus M. Creces
July 28, 2021

JULY 11, 2021

Build 25C.01.00 - Newest HTTPS Installer/Updater [Ver 6.0]


This CHT update is being posted to introduce a new, HTTPS-based, CHT multiple-version installer. With this "multiple-version-installer", the same installer executable is able to install any or all of our CHT Clarion 10 version, CHT Clarion 11 version or our CHT Clarion 11.1 version.

The new CHT installer can be picked up at the URL shown in the following image:

As of July 11 we released a new [Ver 6.0] updater. If your present CHTHTTPSSETUP.EXE main screen does not yet identify the installer as [VER 6.0] and you're reading this, you can find a copy of this new installer inside a zip called CHTHTTPSSETUP.ZIP located in your \clarionxx\accessory\bin\ directory. Extract the zip to c:\cht\ as suggested on our installer download page.


A CHT utility application previously called HNDCLEAN.EXE has now been renamed to CHTCLEAN.EXE. This is to bring it in line with our convention of naming C# applications with opening letters "CHT" and Clarion applications with opening letters "HND". HNDCLEAN.EXE was always a C# application that happened to fall outside this standard naming convention. Now the name conforms.

For the time being, our documentation for this utility continues to be located at URL: The utility works exactly as described in this older document, save for the name change. We will endeavor to bring this document up to date before too long.


We've included with this install, a customized version of CLARION-TOOLS.XML. This is installed to your Clarion's \data\options\ directory where it can be made to attach a number of CHT's Pre-compiled utilities to your IDE's "Tools" menu (See "/CONFIGDIR" Below)

The list of utilities is as follows:
CHTCLEAN.EXE - cleans the currently loaded app to force the IDE to regen-recompile
CHTSNAPEDIT.EXE -- CHT's Clarion-emulating code editor.
HNDBACKUPCONFIG.EXE -- CHT's application backup configuration and compression tool
HNDBRWCL.EXE -- CHT'S support forum access tool
HNDCMP.EXE -- CHT's Project Builder (compile manager)
HNDBATCHRUNNER.EXE -- CHT's batch file creator/runner
HNDCLARIONDRIVE.EXE -- CHT's Clarion version configurator
HNDSETUP.EXE -- CHT's installation container builder, viewer, extractor
HNDPRINTHTML.EXE -- CHT's web-site, HTML viewer, display engine
HNDFBACKBUILDER.EXE -- CHT's application translation file builder, editor


This option, expressed on the "Target" line of Clarion instance startup-icon, is used to individually indicate the location of the configuration information read by that Clarion instance as it starts up.

Especially when you're running several instances of Clarion, or several versions of Clarion, it is frequently advantageous to configure them separately with each, slightly differently configured, perhaps for colors, fonts, default directories, and tools menus.

On the "Target" line of a Clarion startup icon, "/ConfigDir" is used as follows:
Example target location bin:
c:\c10\bin\clarion.exe /Configdir=c:\c10\data\options

Example target location bin:
c:\c11\bin\clarion.exe /Configdir=c:\c11\data\options

Example target location bin:
c:\c111\bin\clarion.exe /Configdir=c:\c111\data\options

JULY 1, 2021

Build 25C.00.00 - Newest HTTPS Installer/Updater [Ver 5.0]


This CHT update is being posted, primarily to introduce a new, HTTPS-based CHT multiple-version installer. With this "multiple-version-installer", the same installer executable is able to install any or all of our CHT Clarion 10 version, CHT Clarion 11 version or our CHT Clarion 11.1 version.

The new CHT installer can be picked up at the URL shown in the following image:

Enter the url provided by the image above into your favorite browser's command line. For best results, once on that page, follow the instructions provided there regarding download and placement of the contents of our installation zip file.

The installer/updater's unique new interface provides the opportunity to update your CHT toolkit for Clarion 10, Clarion 11, or Clarion 11.1. Installations are performed, as before, one CHT version at a time using this single executable.


Different target installation directories are specified (by you) for each unique instance of Clarion 10, Clarion 11 or Clarion 11.1 that you may have previously installed.

This helpful new feature borrows functionality from our recently-introduced "HNDCLARIONDRIVE.EXE" utility. That is, the ability to address multiple Clarion 10 installations or multiple Clarion 11 or Clarion 11.1 installations and to easily point our updater to the specific Clarion IDE version installation that the developer wishes to update with the newest CHT toolkit features.


All web communications performed by this installer application, whether it entails displaying a web page, or downloading a new installation container, are encrypted in the transport layer by HTTPS.

We embarked on this HTTPS-based design at the request of CHT developers who for reasons of infrastructure changes at their end, were no longer able to use standard HTTP-based web installations from their development desktops.


To increase ease-of-use, the executable components contained in this zip should be placed in a clarion-neutral directory on your development machine, for example "c:\cht\".

Since the same installer now installs C10, C11 or C11.1 versions of our toolkit to multiple Clarion10/Clarion 11/Clarion 11.1 installation target locations, it stands to reason that you should now begin to place our installer/updater in a single, neutral, disk directory.


Installation container "*_1.hzo" now provides the most recent up-to-date version of our installer/updater should we need to add features or improvements along the way.

You can find this in your ClarionXX\accessory\bin\ inside a zip called: CHT will advise when it may be prudent to extract that zip into the c:\cht\ directory where you placed the installer/updater currently being used.

Running our installer/updater once through for any installation or update, places a "@CHT SETUP" icon on your desktop from which it may be started at any time to perform a new CHT installation or to perform an update or simply to inquire about the presence of newer CHT installation components.

This installer does NOT install Clarion 10, Clarion 11 or Clarion 11.1 and assumes you have legally licenced versions of these which you have installed first, via the appropriate Softvelocity installer.


If you have installed multiple instances of say, Clarion 11, on your dev machine and have successfully installed CHT to each of these instances, you may use the HNDCLARIONDRIVE.EXE utility to indicate with which Clarion 11 version you intend to begin a coding session. Remember to always exit Clarion when changing Clarion instance locations using HNDCLARIONDRIVE. From any machine you can only use ONE CLARION 10 OR ONE CLARION 11 INSTANCE AT A TIME.

HNDCLARIONDRIVE.EXE points your computer's registry settings at the Clarion and CHT version you intend to use for any given coding session.

To switch Clarion installation instances, exit Clarion, use the SET10, SET11 or SET111 parameter with HNDCLARIONDRIVE.EXE and restart the appropriate C10, C11 or C11.1 instance as per the SETXXX command just issued.

Note that running simultaneous instances of two different versions of Clarion from the same machine is OK, without necessarily requiring the use of HNDCLARIONDRIVE.EXE.

However, distinguishing which instance of any specific Clarion IDE you are running when there are multiple instances of that same IDE installed on the same computer requires the use of HNDCLARIONDRIVE.EXE to set the currently active IDE instance that will be in active use.

Contact Us

Click the link below to contact us by email.
It will start your email client with our email address inserted:

Click To Contact Us