The CHT Blogger

Thanks for your interest in The Clarion Handy Tools, an awesome collection of productivity enhancements for Clarion developers. These tools consist of an ever-expanding set of Clarion Templates and OOP Classes that extend or complement the normal functionality of the Clarion Application Development System from SoftVelocity.

Thursday, November 20, 2008

CHT Build Update 12D1.02 Posted Nov 18, 2008

We've posted build update 12D1.02 as of 6:30 PM EST Nov 18, 2008

Among other things this has two new demo apps called:
HNDFORUMVIEWERLITE.APP
HNDGMAILEXPLORER.APP

The template used by these two apps, HandyCOMInternetExplorerControl, has been fleshed out somewhat so that the functionality exhibited in these two applications is available entirely from the template interface, without any embedding. Ed (Grodsky) the app you asked for using your GMAIL address is one of these: HNDGMAILEXPLORER.APP. Everything this app does, CHT has always been able to do, since we introduced HandyCOMInternetExplorerControl,and it's underlying classes. I have dumbed the template down a bit so that the capability of logging into a website that presents a user name and password is available on the template
interface without the developer having to do any embedding.

There are some low-level changes to the browse classes underlying all of our browse templates to accommodate more flexible use of CHT's Query Builder.

And we've added the first of several new templates to take advantage of this with a template called: SetExplorerBrowseQueryBuilderBindings. There's no example application yet for this template but we'll get one added as soon as we've built equivalents for our other browse extensions.

We've spent some time on the cosmetics of our template interfaces and C7 compatibility. We've achieved as much with C7 as is humanly possible, I think, until the next C7 release. If you want to test convert an application in our suite, I suggest HND2.APP.

Note: We've recently also reworked the interfaces of these support applications: HNDCMP.APP (CHT Compile Manager), HNDFSYNC.APP (CHT Toolkit Synchronizer), HNDBROWSERCLIENT.APP(CHT Hybrid Forum Client).

Cheers...
Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
support@cwhandy.com
November 18, 2008

Monday, November 10, 2008

CHT Build 12D1.01 Released Today

Hi All...

I've just posted Build 12D1.01.
Primarily this includes the necessary template modifications to give you 100% (more or less) compatibility with C7 Appgen.

There are still some issues but these are C7 issues that I've been assured are being handled in upcoming C7's.

The issues are:
First:
EXTRACT() isn't working correctly when there's an exclamation mark in the extraction string.
This one is a minor problem as I've written a template subroutine to perform the work that this function normally does.

Second:
#RUN () isn't working correctly. It omits the first paramter when parameters are passed to it. I've done a temporary workaround to add an extra first parameter when C7 does a #RUN(). Once this is fixed I'll remove this workaround.

Third:
When an app containing a dictionary is first converted, the two base modules Appname_BC.CLW and AppName_BC0.CLW are not added automatically into the project. You need to insert these manually into the project's list of .CLW's and the app will compile correctly. Try converting HND2.APP. When it finishes conversion add these two modules to the list and the app will generate and compile with no errors.

Fourth:
When an application window has an equate or variable in the window label, C7.4406 fails to convert the window correctly. You can correct this on the C7 side but that still leaves other window issues, such as dropped menus. Instead, correct this at the C6 side by replacing the equate or variable with a constant value. The app window will then convert correctly. This is not something I've worked around since it has alreay been fixed (indicated by PTSS) for the next C7 release.

Fifth:
If you load/unload an app enough times and then click any template in the global extensions area, the app will eventually lock up completely and you'll need to use task manager to get rid of C7 and the app. I've been told that this problem too has been fixed for the next update. My recommendation because of this major show stopper is to not build anything final or even brand new in C7.4406 since there's a chance once the app locks up like this that it will be corrupted to the extent that you won't be able to recover it. However, this shouldn't stop you from experimenting.

While this is a fairly long list of issues, with the last one being major, C7 with this set of CHT 12D1.01 templates are nearing a state of useability that I find very encouraging. During C7's on-going development I expressed often my trepidation that the template generator would not be 100% C6 backward compatible and we'd have to build separate template sets for C6 and C7. I'm satisfied now that this will not be necessary and we will be able to work forward on a single set of templates to service both Clarion versions.

If you're going to experiment with app conversion from C6 to C7, I suggest you use HND2.APP, since I've made all the adjustments necessary to eliminate the above issues - with the exception of "Third" above, which you'll need to handle yourself.

I've made some cosmetic changes to our template interfaces, hope you'll like them. They'll act as a reminder that this 12D1.01 set is the first in a series of CHT templates that are fully inter-compatible with C6 and C7.

Cheers...
Gus Creces
The Clarion Handy Tools Page
Visit Website

Sunday, November 9, 2008

Clarion 7 News

We haven't had a lot of time to devote to C7 this past week or two but we're making progress.

We've gotten to the stage where we have isolated a few key C7 bugs and shortcomings that impact our templates. There appear be lots of other C7 template generator bugs and incompatibilities, judging from the PTSS bug report data base. Many of those have not been issues that we've had to deal with since they're not getting in the way of our use of the template language.

Obviously, I'm concentrating on the things that would get in your face if you were taking a C6.3 application built with CHT templates and porting it to C7 via it's application conversion feature.

There aren't a lot of "bugs" and "incompatibilities" that directly impact CHT, but those that I've found are an indication that the C7 template generator has some considerable distance to go in order to become fully C6 backward compatible. My guess, at this point, is that some of these things may never really be resolved in any reasonable time frame, and third parties will just have to bite the bullet and build work-arounds. After a year or two of working entirely in the C7 environment, most of us will have gotten used to the differences and code templates in a way that C6 and C7 can both live with.

At this point in time, I'm heartened that we can release a single template set that's fully compatible with both environments without our having to jump through too many hoops. And without doing a major re-write.

This upcoming week we'll be releasing build 12D1.01 with template changes that are primarily focussed on greater C7 compatibility without affecting how those templates work in C6. We'll be basing this release on C7.4406 which is all we have in hand at the moment. If fixes do come in on bugs we've reported, our workarounds will nevertheless work just as well in these later versions of C7 unless there are actual C7 regressions.

With these upcoming changes we're able - even today - to take apps like HND2.APP, HND3.APP and HNDACCES.APP, copy them to the C7 compile directory, have C7 convert the APP and the DCT, and then generate and compile without having to deal with any significant issues. I'll try and get a video done wherein we'll show you directly the process of getting two or three CHT demo apps to convert, generate, compile and run in C7.

Cheers...
Gus Creces
The Clarion Handy Tools Page
Visit Website

Friday, October 24, 2008

Build 12D1.00 Available For Download

Build 12D1.00 is available for download as of 10:30 PM EST October 23, 2008. There is a long list of changes and additions in this build which I will document for you in the coming days.
A few early highlights:
• Compile Manager uses a new file format to add some additonal fields. The file will auto-convert when you access it.

• Compile Manager now has a user-configurable feature to produce HTML information from your apps for a new server called HNDTEAMDOCSERVER.APP.

• Compile Manager can optionally assign processor affinity for dual processor machines.

• Compile Manager is able to optionaly launch your favorite code signing utility.

• There are some new app documentation templates to accompany the Team Documentation Server.

• CHT templates now will register without error in C7.

• C6 to C7 cross installer performs a complete cross install.

• More information later.

Cheers...
Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
support@cwhandy.com
October 23, 2008

Tuesday, October 7, 2008

Demo Clarion.NET Project For You

For anyone I've forgotten to include in my email that may be interested, the Clarion.NET project details are as follows:

Link to the file: chtdemonetzipper_4125.zip

This is built with the latest version of Clarion.NET 2.0.4125; don't know if it'll work with earlier versions. Also make sure you have at least Windows Framework 2.0 or higher installed. The project zip contains subdirectories and is intended to be compiled at:
c:/clarion#/chtdemonetzipper/chtdemonetzipper.sln.

Suggest you unzip the file so that the above chain of subdirectories is created on your computer. Something else may work but I've not tried that. This configuration does work here. There's an exe in this subdirectory, called CHTDEMONETZIPPER.EXE if you want to try running it before doing anything else.

Start Clarion.NET and load the solution file CHTDEMONETZIPPER.SLN and when it's open push F8 to compile. After that CTRL/F5 should run the project.

Cheers...
Gus Creces
The Clarion Handy Tools Page
Visit Website

Clarion.NET Build 7.0.4125 Released

I was pleased this past weekend to find notice of a new update for Clarion.NET (Clarion#) in my email inbox.

Reinstallation of 7.0.4125 went without a hitch.

The past number of months have been hectic with project work so I haven't spent a lot of time putting Clarion.NET through its paces. But I dug up a few applications I'd built with it some months back and lo, they still compiled and ran after I made a few adjustments for syntactical changes introduced to the language since I'd last used Clarion Sharp.

One of the test applications uses three C# dll's that are now part of CHT's tool kit - HNDNETSMTP.DLL, HNDNETZIPPER.DLL and HNDNETFTP.DLL - so, at the same time I also opened up my new Microsoft Visual Studio 2008 and built some improvements into the supporting DLLs too. Eventually those DLL's will be built using native Clarion#, once I'm sure the platform is stable, which it certainly appears to be.

Running the two development environments side-by-side, is an interesting experience. Somehow, all .NET languages start to resemble one another after a while. Give or take a couple of curly braces I'd swear that Clarion# and C# were cut from the same cloth, which obviously they are. And Clarion's IDE is a close approximation of Visual Studio.

If you own Clarion .NET - Ken, Paul, Didier, I think you guys do, and I'm sure there are others - let me know if you're interested in a demo app to compile and test. I'll zip up one of these demos and post it for you.

Cheers...

Gus Creces
The Clarion Handy Tools Page
Visit Website

Monday, October 6, 2008

New Update Available 12C1.03

We've posted a new build update numbered, 12C1.03, to Webupdater today, completing the necessary changes by approx 5:30 EST (October 6, 2008). This has been up since last night, but I made several incremental changes to it during the day today. If you picked it up before reading this notice I suggest you re-run Webupdater in order to get the latest iteration of 12C1.03.

Here are some of the changes:

New Template HandyFileViewBuilder


There's a new template called HANDYFILEVIEWBUILDER. This is similar to HandyFileQUEUEBuilder with which you've been able to build a QUEUE from a table schematic created on the template. In the case of HandyFileVIEWBuilder, you're now able to build a VIEW from a table schematic created on the template. These two templates have Import/Export capability so that configurations created on one either one of them can be exported, to be imported by the other.

New Base Class Function SQLFillQueueFromView()


You're able to build an SQL browse completely independent of ABC by using LISTBOXBROWSEXTENDER to create and manage a queue and list box. Combine this with HANDYFILEVIEWBUILDER to build a matching VIEW. And to these two templates, add a new a CHT base class function available to the ListBoxBrowseExtender, called SQLFillQueueFromView() to fill the list box queue. This same base class function is available to ExplorerBrowse, HandymarkerBrowse, LocatorOverRideControl as well as all ABC processes and reports where one of our filtering templates has been placed.

New Base Class Function DumpQueue()


In the globally instatiated class HNDINI, populated by our INIFILE template, is a new function called DUMPQUEUE(). If you're trying to debug a queue-building function, use this function to dump the contents of any Queue to a text file.

New Demo Application HNDSQL10.APP


The new HNDSQL10.APP demo illustrates SQLFillQueueFromView() by filling a standard ABC Browse queue using the Queue And View already generated by the ABC template. It also illustrates the new DumpQueue() function mentioned above. By examining the application you should be able to understand what's going on.

Improvements to EmbedViewEx Template


EmbedViewEx has been updated to solve a problem with the template selecting the wrong primary file key when there's a complex view inserted and view scanning is enabled. We've also added the ability to export/import view field descriptions compatible with the above templates HandyFileQueueBuilder and HandyFileViewBuilder. Further, the template is now a MULTI, which means it can be populated multiple times on the same procedure. You can see EmbedViewEx in action on several of our newer demo applications HNDSQL7.APP and HNDSQL8.APP, for instance.

In both these demos we're using it to fill the browse queue. But EmbedViewEx can be used anywhere you might normally call a process procedure. The only caveat I'd give you in using this - because it runs in a tight loop and not on a timer - is that the view scan you're performing should be fast enough not to hang your application for more than a second or two. Think of it as a general-purpose, lightweight Clarion process, that plugs right into your procedure. View scanning can be triggered from any control that you drop on your window. Multiple view scans (applying different filters and orders) can be performed on the same view, and each of these can take some unique action on the view tables and fields being scanned. Works with SQL or ISAM.

Portuguese Dictionary Replaced And Tested


Thanks to Nelson De Carvalho for working with me to develop a new Portuguese Dictionary with the correct accentuation. The Portuguese dictionary now works correctly. A small change in the HNDSPELL class was made in addition to replacing the previous version of the HNDPORTUGUESE.DIC file.

Bug Fixes


Any bug fixes reported in the last couple of months relating to 12C1.00, 12C1.01 and 121.03 are included here as well.

• One that comes to mind is a browse reset issue reported by Robert Barton. Search on Robert's name in the CHT support forum news.cwhandy.ca to get the details of his report. He sent a test app, and a data table to help me isolate the problem which I've fixed.

• Didier, I've fixed the two issues you reported with HNDFSYNC.APP (hidden icons appearing) and HNDMTSCL.APP (losing the browse filter). I have not yet incorporated the code signing feature you asked for but I hope to incorporate that for an early version of 12D1.xx. The RowMoveButtons problem you reported has also been fixed.

• Piotr Heidak reported a problem with the template-initiated opening query on ExplorerBrowse. That's been fixed and Piotr has confirmed it works.

That's it for now.
Cheers...
Gus Creces
The Clarion Handy Tools Page
Visit Website
Message Posted From CHT Support Forum Client [V6.01.00]