Clarion Handy Tools
HOME ABOUT NEWS BUY DOCS

March 2019

March 28, 2019

Build 23B.00.00 Released

We've released our 23B.00.00 build today, a few days early. The "official" release date of this build is April 2, 2019, as it falls within the first week of the second quarter of 2019.

As always, the letter incorporated into our build number represents the current-year quarter, as in:

23A = First Quarter (Jan, Feb, Mar)
23B = Second Quarter (Apr, May, Jun)
23C = Third Quarter (Jul, Aug, Sep)
23C = Fourth Quarter (Oct, Nov, Dec)

See our April "What's New" page for details from our updater notebook to read more details. Of course you'll get those notes showing up on your desktop, when you run the latest CHTSETUPC11.EXE or CHTSETUPC10.EXE.

March 11, 2019

Build 23A.02.00 Released

HNDCONTROLTPLS.APP

We newly created HNDCONTROLTPLS.APP, a single application to illustrate as many CHT Control Templates as possible both for developer re-familiarization purposes and to ease our task of re-examining the template interfaces, for testing them and for documentation.

Note that this application is not yet complete, as more CHT templates will be added to it as we approach our 100% CHT template revision target for this year.

CONTROL templates, you already know, are the ones that you initially add to your application by dropping them on an application window, as opposed to EXTENSION templates which are added into an app from the Clarion "Extensions" dialog. However, both Control and Extension templates may be configured and adjusted from the "Extensions" menu.

CHT CONTROL Templates illustrated so far in HNDCONTROLTPLS.APP, in no particular order of importance:
AppBuildNumberStamp,
AppCopyRightStamp
AppBuildDateTimeStamp
HandyAddressControls
HandyCOMProgressBarControl
HandyCOMSliderControl
HandyThreadLimiter
HandyToolBarGradient
HandyWindowGradient
VisitHandyControl
HandyHelpFileFetch
HandyMailMeControl_EWF
HandyCOMMAPIControl
HandyRulerControl
HandySliderControl
HandyTellMeControl
HandyTellMeControl_EWF
VisitMeControl
VisitMeControl_EWF
HandyHyperLink_EWF
HandyWindowDismissButton
HandyWindowsNotePadButton_EWF
HandyCOMDigitalClockControl
HandyHelpButtonControl
HandyRegionButton
HandyCOMAnimationControl
HandyCOMDatePickerControl
HandyDriveSelectorControl
HandyFileSelectorControl
HandyGradientEllipse
HandyGradientRoundBox
HandyHelpFileTopicButton
HandyPopupCalendarButton
Still many more to be added next update.

Resources required by this app to be located with the .APP
HNDPREVIEWER.EXE (cxx/hndapps/)
chtvideoeducation.gif (cxx/accessory/images/)
hndfilecopy.avi (cxx/hndapps/)

HNDPEOPLE_LBX.APP

HNDPEOPLE_LBX.APP has been re-instated and revised in this latest build. This (ListboxBrowseExtender) LBX browse application can access data both from a local table called HNDO.TPS and a remote table (also hndo.tps) up on our web server delivered up from our CHT data server called HNDCLIENTSVLEAN4VIEW.APP.

The MAIN procedure consists of a CHT HNDCOMInternetExplorerControl template providing a web-browser interface that displays "hndpeople_lbx.html". When a user clicks on any of the menu "button-links" on this browser-based interface, the app intercepts the web-link being clicked and interprets it as an indication that a specific procedure in the application should be started.

The resources which make happen the local portion of the app are listed in the app on the Global extensions tab of CHT template AACHTControlPanel-->"Config" Tab -->"Application Version Information".

The "Remote LBX Data Procedures" portion of the app does not require a copy of the HNDO.TPS file to be placed in the application directory. Since the "Remote Data" procedure accesses our data server, you need only complete the "Login Parameters" also given in the "Application Version Information" area mentioned above.

HNDTILEAPPLAUNCHER.APP

HNDTILEAPPLAUNCHER.APP has been re-instated and revised in this latest build. The MAIN procedure consists of a CHT HNDCOMInternetExplorerControl template providing a web-browser interface that displays "hndtileapplaunchermenus.html".

When the user clicks on any of the menu "button-links" on this browser-based interface, the app intercepts the web-link being clicked and interprets it as an indication that a specific procedure in the application should be started.

The resources which make happen the local portion of the app are listed in the app on the Global extensions tab of CHT template AACHTControlPanel-->"Config" Tab -->"Application Version Information".

HNDSOURCEMAPIDEMO.APP

HNDSOURCEMAPIDEMO.APP has been re-instated in this latest build. This app uses an ABC Source procedure decorated with CHT templates to perform the work of zipping and sending.

App pre-requirements (see splash or Application Version Information dialog). HNDZIPR.OCX (CHT COM Class performs ZIP function).

This app will register HNDZIPR.OCX to COM automatically when you run it, but for that to work, the HNDZIPR.OCX must be placed next to this app's EXE in the event you want to test on a machine where the CHT Tool kit is not installed.

Since this is a MAPI app, the test machine must also have a correctly configured MAPI client with an user account dialog completed.

HNDSOURCESMTPDEMO.APP

HNDSOURCESMTPDEMO.APP has been re-instated in this latest build. This app uses an ABC Source procedure decorated with CHT templates to perform the work of zipping and sending.

App pre-requirements (see splash or Application Version Information dialog). CLARUNEXT.DLL (SV DLL contains SMTP and other functionality).

This app looks up your CHT registration EMAIL address and as a test attempts to send you a zip of the HNDSOURCESMTPDEMO.APP via email. If you test this on a machine where the CHT Tool Kit is not installed, an SMTP Configuration dialog will pop up. Complete the SMTP dialog, then restart the app.

This app will register HNDZIPR.OCX to COM automatically when you run it, but for that to work, the HNDZIPR.OCX must be placed next to this app's EXE in the event you want to test on a machine where the CHT Tool kit is not installed.

March 11, 2019

Clarion Built-In Control Templates Bug

When developers populate a standard Clarion control to their application window, certain basic window controls carry along with them some built-in control-template behaviours. Let's consider for example, vanilla button and entry controls.

There's nothing wrong with these built-in control template behaviours, of course, they help developers to more easily make use of the basic screen control, without having to write code for some rudimentary functionality hooked to that control.

There's one problem related to this situation, that detrimentally affects 3rd party developers of control templates and the developers that use them.

Third party control templates, regardless who they're from, often use basic controls with new, non-standard behaviours hooked into them. We have tons of these (153, to be exact). When we create one of these control templates, we really don't want the default ABC control template dialog to interfere with ours. In all cases of our control templates, the default ABC control-template interface is irrelevant and can be ignored.

If the default ABC control-template interface COULD simply be ignored that would be fine by us!

The problem as we see it is two-fold. First, the Clarion 10-11 IDE configuration that makes these ABC control-template interfaces (supposedly) go away and leave us alone, is broken. We doubt that it ever worked. The ABWINDOW.TPW template seems to make no reference to any setting that makes ABC built-in control template code defer (give way to) third party control templates. The image below illustrates the IDE switch that is supposed to remove the ABC control-template interface from vanilla controls that third parties have put their own template interfaces to.

abcjunk005.png

The ABWINDOW.TPW makes no reference to any IDE setting that would (should) make default ABC control templates defer to third party control templates hooked into a window control (as the above setting implies it should).

We said above, that the problem is two-fold, and it is. Since we can't make ABC control templates go away when window controls have been decorated with new behaviours from CHT control templates, the least the ABC default control template interface could do is co-operate with our control templates and those from other third parties, and not monopolize the template interface workspace.

In the two images that follow, you can see what happens when we create control templates with a standard button control and a standard entry control. Badly thought out and badly designed ABC "junk" puts itself under our sheet-and-tab control-template work surface, in a get-in-your-face way that trashes the neighbourhood.

abcjunk001.png

 

abcjunk002.png

Remember, non of the ABC control template "junk" that hangs itself below our template tabs is required in this situation. Particularly in the entry control pictured in the image directly above. Our template code handles all the necessary details and the default ABC stuff is superfluous to our application of the entry control. The default ABC entry control template interface ought, really, to be hidden, tucked away, or taught some manners.

Our Solution For CHT Developers

Ideally, the ABC-default control template interface ought to be laid onto a #TAB control that makes it appear as just another tab in a multi-tab template interface. This works with raw window controls, undecorated by specialized window control enhancements as it will display the interface on a neat, single tab. It works equally well with multi-tab control templates from third parties like ourselves by tacking an "ABC" tab onto the end of our tab set. The image below illustrates how this works.

abcjunk003.tpw.png

 

abcjunk004.png

Our Solution For CHT Developers

We're providing a minor change to ABWINDOW.TPW that does not change ANY of the native generate behaviours, attached to vanilla window controls.

ABWINDOW.TPW control templates continue to work exactly as always whether in the context of CHT templates, or in the context of other, 3rd party template, or with no 3rd party templates at all!

We just taught them some much-needed manners!

March 1, 2019

** Friday, March 1, 2019 **

You're A Developer, Right?
So Does Your O/S Know This?

Unless you use exclusively development tools only from the Windows store, you probably have your Windows 10 set to "Developer Mode".

Developer Mode lets you "Install any signed and trusted app and use advanced development features". So says the "For Developers" dialog in Windows 10 settings under "Update & Security".

Clarion developers and consequently users of 3rd party Clarion tools, need to set their systems up in "Developer Mode".

win10fordevs000.png

win10fordevs001.png

Contact Us

If you have any thoughts or impressions to share, feel free to get back to us via email using the hot link provided here.

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

Click To Contact Us