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

FEBRUARY 18, 2021

Other Changes Of Interest
Build 25A.01.00

HNDCMP.APP MODIFICATIONS
CHT Clarion Project Builder

This CHT "Clarion Project Builder" has had significant changes made in the configuration screens to add utility and greater flexibility.

*** On the "Defaults" screen (in configuration) the "Use ConfigDir" option now will autocomplete if it is blank.

*** On the "Target Paths" screen (in configuration) the "Header Image" and Highlight color will autocomplete for you also.

*** On the "Post Compile" screen (in configuration) we've provided a new dropdown that lets you choose the "Cert Lookup Parameter". Which of the available choices you use will depend on the type of Code Signing Certificate you have. The default is "/n"; this stands for the "name" of your certificate for lookup purposes.

If you intend to use HNDCMP.EXE (provided for you pre-compiled in the /accessory/bin/ directory) make sure you configure it at least to the defaults provided. The code-signing feature will not kick in if you leave the Certificate field blank.

After-the-fact bulk signing of your applications can be easily enough accomplished using another CHT utility called "HNDBULKSIGNER.EXE" also located in the \accessory\bin\ directory below your Clarion root.

HNDBRWCL.APP MODIFICATIONS
CHT Client Forum Application

The 'Send Zip Files" will work correctly now. Since this original procedure was built we made numerous improvements to our server security attributes. These were not taken into account in the previous "Send Zip Files" procedure in HNDBRWCL.APP.

The newer security features are there now along with a "Configure" dialog that you can access directly. So, if "Send Zip Files" fails for any reason using this version of HNDBRWCL.EXE, or the "Configure" dialog is not already-completed for you, contact CHT using the "Contact CHT" button and let us know. We'll send you a private password and URL that can be entered into this dialog.

HNDMAILNET.APP MODIFICATIONS
CHT NET DLL Based SMTP Mail

This app GPF'd when the HNDMAILNET --config command was executed.

The problem was due to an embed inside the app that performed a second, unnecessary call to SMTP.Init(). This call was already being performed by our template. The needless embed has been removed and the app works correctly now.

HNDCPYDM.APP REINSTATED
CHT Jump Start Source One

This application demonstrates the following JumpStart Functions:

* JumpStartBulkFileCompressExpandWithProgress() - Bulk file compression and expansion with optional encryption and decryption.

* JumpStartBulkFileContainerizeWithProgress()- Bulk file compression to a container (.HZO) file with optional encryption.

* JumpStartBulkFileDeContainerizeWithProgress() - Bulk file decrompression from container (.HZO) file.

* JumpStartBulkFileCopyWithProgress () - Bulk file copying to a target directory.

* JumpStartBulkFileEncryptDecryptWithProgress()- Bulk file encryption/decryption with optional compression/decompression.

* JumpStartBulkFileEraseWithProgress() - Bulk file removal

* JumpStartBulkFileMoveWithProgress() - Bulk file moving

* JumpStartBulkFileRenameWithProgress()- Bulk file renaming

A query allows you to describe the files to be acted on. Or files to be acted on may be dropped from MS File Explorer.

These procedures, can simply be imported into your own application from this HNDCPYDM.APP application, rather than via the CHT Jumpstart interface.

For either scenario, your application requires the following CHT Global Templates:
*** AACHTControlPanel
*** ApplicationImagesEx (child of AACHTControlPanel)
*** HandyVersionResource (child of AACHTControlPanel)
*** CHT IniFile (child of AACHTControlPanel)
*** CHT VBLFileName (child of AACHTControlPanel)

FEBRUARY 15, 2021

Now Released
Build 25A.01.00

MULTIPLE CLARION DEVELOPMENT ENVIRONMENTS
ON PLUG-IN DRIVES
USING HNDCLARIONDRIVE.EXE

This (HNDCLARIONDRIVE.EXE) utility can be found in the /accessory/bin/ directory along with numerous other CHT support utilities provided for you pre-compiled. All the ones that start with HND* are Clarion apps and have source code provided in the form of .APP files in the /hndapps/ directory. There is one exception to this in the case of HNDCLEAN.EXE. It is a C# app like the CHTSNAP series of executable utilities. We named HNDCLEAN.EXE quite a while ago, before we adopted the "CHTSNAP" naming convention a few years back for our C# utilities.

The purpose of HNDCLARIONDRIVE.EXE is to tell your computer via the registry where Clarion 10 and/or Clarion 11 (or both) are installed. The intended purpose is to let you install multiple C10 and/or C11 environments on alternate drives.

We have multiple Clarion environments installed on type-3 USB drives. We don't suggest using a USB stick, since some of these can be sluggish depending on the stick type and USB port speed. Not all USB ports are equally fast.

We're talking about a real, USB plug in hard DISK, available, for example, from AMAZON for around $80.00 Canadian. Probably cheaper in the USA. These are fast, and reliable. We've been using 3 of them for the last 5 years without them ever missing a beat.

This is most convenient for maintaining numerous static (and perhaps differently configured) Clarion environments for apps that you won't be touching for a while. Some of you set up VIRTUAL Windows environments for this purpose, and while VM's have been, up to now, the only practical way to do this, short of buying more computers, the technique described here, using HNDCLARIONDRIVE.EXE, is as good or better and a lot quicker and easier.

If you bother to learn to use the /ConfigDir=x:\cxx\data\options\ Clarion command-line option with your multiple Clarion environments, these Clarion instances can be set up to differ in "options" settings such as languange, appearance, fonts, coding, text editor, etc.. The IDE Tools-Options settings are, with /ConfigDir, stored locally with the currently running IDE.

Otherwise, without the /ConfigDir= option, Clarion 10 and 11 use a global area in Users\UserName\AppData\Roaming\Softvelocity\Clarion\10.0\ to store these values and all of your IDE instances on various drives will "look", "feel" and "behave" identically. You may, of course, want it to work that way and avoid the /ConfigDir= option. But the option to configure each separate Clarion IDE separately, is available, and entirely your choice.

THE --INFO10 PARAMETER

Before you attempt to use this new HNDCLARIONDRIVE.EXE utility, ask it for information about your present development computer and it will give you the registry values used by Clarion (10 and/or 11) and the CHT templates.

From a DOS prompt, (configured AS ADMIN), switch into the /accessory/bin/ directory and type as follows:

HNDCLARIONDRIVE --info10 (for info about your Clarion 10 installation)

Here is what we see as a result of the above "--info10" inquiry:

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

THE --INFO11 PARAMETER

HNDCLARIONDRIVE --info11 (for info about your Clarion 11 installation)

Here is what I see as a result of the above "--info11" inquiry:

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C11PATH=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C11PATH=c:\c11\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC11=c:\c11\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC11=c:\c11\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC11=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC11=c:\c11\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion11\root=c:\c11\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion11\root=c:\c11\

** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
©1996-2021 - 25 Years Supporting Clarion Developers

STEPS TO CREATING A DEDICATED
CLARION 10 USB INSTALLATION

You can create a USB drive dedicated to say, Clarion 10, by following these steps:

*** FIRST 

Install Clarion 10, with the standard Clarion 10 installer run (AS ADMIN) for example, onto the new USB drive in say, "h:\c10\" The drive letter and directory name used here are just examples.

Doing the above will overwrite some registry keys with the new Clarion 10 installation location stored on your machine.

HKEY_CURRENT_USER\SOFTWARE\SoftVelocity\Clarion10\root\
REG_LOCAL_MACHINE\SOFTWARE\SoftVelocity\Clarion10\root\

Your default c:\c10\ installation back on drive "C:" is now compromised because any Clarion IDE can only truly be installed once on any given machine due to this regstry-write operation performed by the Clarion installer.

Bet some of you didn't know any of this and you may even have have been cross-copying Clarion installs to other directories and/or other machines or drives with some unsatisfying results.

The Clarion root registry node now points to "h:\c10\" and your CHT installation nodes still point to c:\c10\. These settings are what you would see by issuing an "--info10" request as this stage:

HNDCLARIONDRIVE --info10

REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\

The Clarion "root" now on drive "h".

This is because SV's installer changes Clarion's root registry entry to wherever you last installed it. Installing at h:\c10\ decidedly breaks the previously installed Clarion 10 or Clarion 11 located on "c:\c10\".

All other settings related to this Clarion 10 installation are still pointing as before to the "c:\" drive.

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\

This is surely why some of you resorted to creating VIRTUAL machines, because each VM has its own, separate windows registry since VMs use an entirely different Windows 10 running environment from the host hardware.

At this point, this is where "HNDCLARIONDRIVE --set10 h:\c10\ will most assuredly save the developer some grief.

*** SECOND 

HNDCLARIONDRIVE --set10 h:\c10\

Typing the above command from an "ADMIN" DOS prompt points all of the necessary registry entries to the new Clarion 10 installation located on drive "h:\". This is what you will see. All Clarion 10 + CHT relevant registry entries pointing to "h:\c10\"

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=h:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=h:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=h:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=h:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=h:\c10\

*** THIRD  

Now run CHTSETUPC10.EXE and it installs to, or updates to, the new Clarion 10 version located at "h:\c10\". After it completes, you will have a fully runnable Clarion 10 along with a completely viable CHT installation, located on "h:\c10\". The best part is that these are independent, environments with separate templates, classes, and optionally even separate IDE settings.

The --set10 command (as in **SECOND, above) additionally creates a desktop icon named, "@C10" that points to the Clarion.EXE located, in this example, at "h:\c10\bin\".

You can begin using this entirely separate, isolated Clarion 10 as if it were a brand new Clarion 10 + CHT installation on a new VM or on another computer.

*** FOURTH  

HNDCLARIONDRIVE --set10 c:\c10\

This sets your hardware back to your original "c:\c10" installation.

REG_CURRENT_USER,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\C10PATH=c:\c10\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\HNDAPPSLOCATIONC10=c:\c10\hndapps\
REG_CURRENT_USER,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\CHToolsAll\INSTALLPATHC10=c:\c10\
REG_CURRENT_USER,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\
REG_LOCAL_MACHINE,SOFTWARE\SoftVelocity\Clarion10\root=c:\c10\

Now, if you examine the properties of the @C10 icon, you'll see that it points back to the original "c:\c10\bin\clarion.exe". Click that icon and everything is as it was. Nothing on "c:\" has changed. If you run CHTSETUPC10.EXE now, it even installs to "c:\c10\" as before, not to "h:\c10\".

*** FINALLY  

So that's the drill. You can create as many separate, isolated Clarion 10 or Clarion 11 installations this way using separate drive letters (if you keep the drives plugged in together) or on the same drive letter if you unplug "h:" and plug in a new, blank "h:" and install Clarion 10 onto it, as described above.

SET TO THE CLARION DRIVE/DIRECTORY
YOU WANT TO USE

When you want to use an alternate-drive location Clarion 10, set your system to it using the "--set10" parameter. When you want to use an alternate-drive location Clarion 11, set your system to it using the "--set11" parameter.

HNDCLARIONDRIVE --set10 h:\c10\

When you want to install and use still another drive for Clarion 10, just set to it with "--set10", for example:

HNDCLARIONDRIVE --set10 g:\c10\

Each time you do this the "@C10" desktop icon points to the "Clarion.EXE" located on that drive and the registry settings point correctly to the Clarion 10 on that drive.

This acts as a reminder of which Clarion 10 and/or Clarion 11 installation is the currently active one, without you having to guess. Of course, you can always run the --info10 or --info11 command(s) if you're unsure, or you are just being cautious.

Now to return to your original Clarion installation where all of your apps are located, set back to that original Clarion 10 again with "--set10". Below are two individual, example settings.

HNDCLARIONDRIVE --set10 c:\c10\ HNDCLARIONDRIVE --set10 c:\clarion10\

Note, as we've said often, the drive letter(s) and directory name(s) used here are examples only and are entirely up to you. One note of caution, however: USE ONLY a single directory name, and DO NOT use a directory name with a space in it.

And for your own sanity, keep the directory name as short as possible. c:\c10\ or c:\clarion10\ are all you need if you're using multiple plug-n-go drives.

THE FULL HNDCLARIONDRIVE.EXE
COMMAND SET

The full HNDCLARIONDRIVE.EXE command set is available on demand as follows:

HNDCLARIONDRIVE --help

  ** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
  ©1996-2021 - 25 Years Supporting Clarion Developers

This "CHT Batch Bot", HNDCLARIONDRIVE.EXE runs from the DOS prompt. It may be used by CHT Clarion developers to properly configure their computer system to establish the currently-in-use Clarion 10 or Clarion 11 installation.

While your system may have multiple Clarions installed at different paths and/or on different drives, only ONE of these Clarions may be the currently-in-use clarion installation.

Run this batch bot prior to starting your Clarion 10 or Clarion 11 IDE by passing in your Clarion 10 or Clarion 11 root directory:

HNDCLARIONDRIVE --SET10 c:\c10\
HNDCLARIONDRIVE --SET10 c:\clarion10\

HNDCLARIONDRIVE --SET11 c:\c11\
HNDCLARIONDRIVE --SET11 c:\clarion11\

HNDCLARIONDRIVE.EXE source code, because it is in Clarion .APP format, is included as a standard part of the CHT toolkit, provided both in .APP format as well as ready-to-run, in .EXE format.

HNDCLARIONDRIVE.EXE command-line parameters are as follows:
--help [ALONE]
Pops up a splash help screen.

--set10
Sets the operating location of a valid Clarion 10 version in the presence of 1 or more valid Clarion 10 versions on the system.

--set11
Sets the operating location of a valid Clarion 11 version in the presence of 1 or more valid Clarion 11 versions on the system.

--copy10
Copies Clarion 10 property files to the options area under the current Clarion root\data\options\ area.

--copy11
Copies Clarion 11 property files to the options area under the current Clarion root\data\options\ area.

--clean10
Cleans temp .XML files from the preferences area under current Clarion root\data\options\

--clean11
Cleans temp .XML files from the preferences area under current Clarion root\data\options\

--info10
Displays a file of registry settings pertinent to your currently established --set10 configurations.

--info11
Displays a file of registry settings pertinent to your currently established --set11 configurations.

  ** HNDCLARIONDRIVE.EXE ** - Version: CLARION DRIVE CONFIG [25A.01.00] **
  © 1996-2021 - 25 Years Supporting Clarion Developers

FEBRUARY 1, 2021

New CHT Build Coming Soon
Build 25A.01.00

BROAD DEVELOPMENT DIRECTIONS FOR 2021

 Multiple Portable Clarion Environments
 On Plug-In USB Drives

 ABC Browse Template extended with HMB OR EXPB

 CHT Browse Template, LBX without ABC Browse

 Browses on Local Drives with One-Piece Apps

 Browses on Remote Drives with Two-Piece Apps

 Developing Software Installation Client Apps

 Developing Software Installation Server Apps

 Server Security Features - IP Range Denial

 Server Security Features - Web Request Denial

 Server Security Features - User Agent Denial

 Script-Free HTML - Data Page Generation

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