Clarion Handy Tools ™ 


Build Update 27A.02.00
Review of Update 27A.02.00 Changes

We found some code in one of the libraries - having to do with HandyMarkerBrowse and ListBoxBrowseExtender header formatting - that was adversely affecting the proper column header formatting of HMB and LBX browses.

Explorerbrowse (EXPB) was un-affected by this as its behaviour is controlled by a different code library.

Normally, when a column header is clicked, that header becomes highlighed with a directional character and a set of braces. At the same time, the column header of the column that was previously the sort column loses it's directional character and reverts to simply the header name.

Both HMB and LBX were not clearing and reverting the previous column header back to it's pre-sort column status as expected. While this did not affect the proper sorting and filtering of browses, it was an unwanted behaviour change that affected the visual integrity of HMB and LBX browses.

This would normally not be noticed unless the user clicks across several browse column headers in the same browse during the course of a single browsing session. In fact, no CHT user reported this. We found this ourselves while interacting with HNDCMP.APP our compile manager which is based on HandyMarkerBrowse.

The unwanted behaviour seems to have snuck into HMB and LBX some time after we introduced our developer selectable browse color themes back in July of 2022. An important bit of code responsible for re-setting the previous browse column header back to its previous non-sort status was changed (commented) and went undetected until this past weekend.

The correct behaviour for both browse types has been re-instated with this update.

We've re-numbered the update to 27A.02.00, and have reposted the CHT code libraries and templates. And since quite a number of example apps use HMB or LBX, we've also recompiled, tested and are reposting the pre-compiled apps container.


Build Update 27A.01.00
Review of Update 27A.01.00 Changes

This new year "TWEAK" update results from some forum discussions with CHT users since 27A.00.00 was released in December.

•  To accommodate differences in C11.1 behaviour that we hadn't noticed (next 2 items):

Control color assignments in CHT Class based windows such as CHT Query Control.

We have removed all color assignments directly on the controls and have inserted COLOR:NONE. While the previous design works just fine in C91, C10, and C11, it appears that incorrect or perhaps deliberately changed C11.1 behaviour prevents color reassignment by property setting PROP:FontColor on certain window controls such as OPTION. Considerable comparative testing of the use of COLOR:None appears to work as expected in all Clarion Versions now, including in C11.1.

Possible BSTRING Issues In C11.1

Clarion 11.1 seems also to have some issues with improper clipping and consecutive concatenations using BSTRING variables. We've changed the BSTRING concatention code in HNDCMP.APP which builds the .BAT compile file when apps are selected for compiling. Moving forward we're keeping any eye on other CHT Library uses of BSTRING in the event similar removal of BSTRING code is required for C11.1.

AppendSQLFilter / ReplaceSQLFilter

The HandyMarkerBrowse embed point for AppendSQLFilter() and ReplaceSQLFilter() was not clearly indicating in the template-generated documentation that these hand-embeded calls are supposed to follow AFTER the template placed call, named ApplySQLFilter().

We've added extra template-generated comments to clearly indicate where the developer's embed should be placed.

Note that this embed point changes to a higher or lower priority depending on a template switch on the HandyMarkerBrowse "SQL Properties" tab called Disable ABC SetFilter()?.

Note also that when you set this switch ON or OFF from its current position after already having placed the embed code, you will need to revisit the embed and move it higher or lower to the place indicated by our template comments.


We've modified our example application HNDSQL2.APP to provide an example use of AppendSQLFilter() on the SQLFilter_HandyMarkerBrowse example procedure.

The CHT utility HNDSQLTRACE.EXE is extremely useful in testing apps like HNDSQL2.APP to view and confirm that SQL queries are being correctly replaced or appended in the SQL SELECT sent to the back end.

When you're writing SQL apps, if you have not gotten into the habit of using HNDSQLTRACE.EXE for app development and testing you may be overlooking a powerful resource.

CHT Build 27A.00.00
Review of Build 27A.00.00 Features

CHT templates, web pages, demo and utility applications have undergone a major cosmetic revision that will immediately become obvious when you begin interacting with the templates, our web pages and our demo or utility applications.

Presently, fourty-four of these "example" applications are pre-compiled, code signed and located in your /clarion/accessory/bin/ directory. Some of these are called from our templates and act as support utilities.

Here are just a few:

** hndcmp.exe **

   •  CHT Compile Manager
   • View Detail Docs

** hndtestchtbothndsearch.exe **

   •  Code search and replace utility
   • View Detail Docs

** hndtplregistry.exe **
   • Re-register for generate speed
   • View Detail Docs

** hndzipnemailmapi.exe **
** hndzipnemailnet.exe **
** hndzipnemailsmtp.exe **
** hndzipnemailcdo.exe **

   • The above four apps, ZIP files and email them, using any one of 4 different email protocols
   • View Detail Docs MAPI
   • View Detail Docs NET
   • View Detail Docs SMTP
   • View Detail Docs CDO

** hndbulksigner.exe **

   • Bulk code-signing utility
   • View Detail Docs

** hndencrypt.exe **

   • Encrypt-decrypt files
   • View Detail Docs

** hndclientcl.exe **

   • CHT's private forum for Q and A to CHT-HQ
   • View Detail Docs

** hndbackupconfig.exe **

   • Built into templates to back up as you work
   • View Detail Docs

** hndsetup.exe **

   • Our installation container maker, extractor
   • View Detail Docs

** hndxml2htmlgen.exe **

   • Generates HTML pages from XML templates
   • View Detail Docs

** hndsqltrace.exe **

   • Trace from your Clarion SQL applications
   • View Detail Docs

** hndfbackbuilder.exe **

   • Customize CHT toolkit message strings
   • View Detail Docs

** hndclariondrive.exe **

   • View or modify where your Clarions are installed
   • View Detail Docs

** hndclean.exe **

   • Clean up an app to force a full recompile
   • View Detail Docs

** hndpreviewer.exe **

   • View CHT documentation for CHT templates and classes
   • View Detail Docs

** hndhtml2pdf.exe **

   • Convert well-formed HTML to PDFs
   • View Detail Docs

** hndbrwcl.exe **

   • CHT News app - view latest CHT information
   • View Detail Docs

** 14 more located in /clarion/accessory/bin/

** The source code (app file) for all of these applications and at least 110 more is provided for you to study, or from which to borrow parts via procedure import.

** Many of the things you might want to build or might have considered building yourself are here waiting to be discovered, and will provide your apps with a generous supply ideas and importable components.

** To aid you as you experiment and discover, we've supplied with this build, three "STUB" apps. These are entirely empty apps, with one procedure (MAIN or SERVERMAIN) and a dictionary (where one is needed). The apps are called: HNDSTUBFILESERVER.APP, HNDSTUBPAGESERVER.APP and HNDSTUBWINDOW.APP

** Use FILE SAVE AS to rename these to something unique of your own and work with us in future videos and articles, to make them into something useful - using IMPORT from our apps, or JUMPSTART or UTILITY templates that we provide.

** In the meantime, get to know CHT demo apps and utilities! We'll get you building something awesome with just your favorite Clarion and our incredible templates and resources and your clever brains.

Contact CHT

Contact CHT