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, December 31, 2009

Happy New Year to CHT Subscribers in 25 Countries!


We've just finished posting Build 14A.00 in time for the new year!



And 2010 is CHT's 14th year. We're kind of glad to have year 13 behind us. ;-)

Looking back at the document CHT Templates New/Revised In 2009 I see that some 60+ templates were either added or revised in 2009. Considering that most of these templates also use
at least one underlying CHT class, that means also that there are a lot of new and revised classes added during the course of 2009. Combine that with having to test everything twice - once for C6.3 and once for C7.0 and then again
for C7.1 - and your CHT tool guy has been a busy boy. ;-)

All in all C7.1 looks pretty good. There are a few quirks that need to be ironed out but the product is nearing stability and reliability. I don't expect to freeze C6.3 forward development in 2010, since I think many of you are not ready to migrate completely to Clarion7 yet. But that's something I'd like to get feedback on during the course of the upcoming year.

Over the next couple of weeks I'll be posting information on our January What's New Page about this build. I've completed some of the SUGGESTIONS posted here during 2009and will continue to work forward on any that I didn't complete. And, of course, feel free to make SUGGESTIONS for new features or requirements as you think of them.

Come to think of it, Johan De Klerk, I've added a couple of new functions to HNDUTIL which we discussed last week having to do with uniquely identifying the hardware on which your software is running. These functions are:


HNDUtil.GetWindowsSerialNumber PROCEDURE ()
HNDUtil.GetHardwareDriveDeviceID PROCEDURE (LONG xDrv=0)
HNDUtil.GetHardwareDriveSerial PROCEDURE (LONG xDrv=0)


You'll remember I added a .NET based implementation (for Win32) last build for getting the hardware serial number from a drive. Johan has customers whose machines are not, in many cases, ever going to be .NET compliant, so he asked me for a straight Win32 implementation of this functionality. Johan, this should give you what you need. On older machines you may have better luck with GetHardwareDriveDeviceID than with GetHardwareDriveSerial. Both functions will give you something unique tied to hardware that cannot be copied from one machine to the other by cloning the contents of a hard disk. GetWindowsSerialNumber will give you something unique as long as the two machines don't boot from the same copy of MSWindows.

As a temporary measure, mostly for my own benefit, I've created a small DOS prompt app for C7 that generates a batch file for bulk compiling C7.1 solutions. As long as the .SLN and .CWPROJ files for an app exist and the .CLWs have been generated earlier. You can batch compile your apps using a .BAT file generated by HNDCOMPILE.EXE located in c7/accessory/hnd.

Here's how to use this:
1) Shell to the DOS prompt
2) Change directory to where your apps are located and from there type as follows: use your own c7 path).
3) c:/c7/accessory/hnd/HNDCMP.EXE HNDNET*.SLN if you only want to batch compile apps matching that wild card.
4) You can have the created EXEs compressed by adding a 1 after this as follows:
c:/c7/accessory/hnd/HNDCMP.EXE HNDNET*.SLN 1

As I mentioned in an earlier post C7.1 broke the command line app generate function /ag which worked in C7.0 so for this to work your apps are going to have to be already fully generated. This also assumes your machine has MSBUILD.EXE on it, which it will given that this is what's used by C7.x to build your solutions. The trick may be that your DOS path does not point to the directory where MSBUILD.EXE is located. I'll leave it to you to work that out for yourself by modifying the DOS path statement.

I'm working forward on HNDCMPC7.APP which will work pretty much like C6 HNDCMP.APP minus some of the C6-specific features and including some C7-specific features for batch compile. I was able to test-compile all 104 C7 demos with the temporary HNDCOMPILE.EXE method described above.

That's all for now. Keep a lookout on the January 2010 What's New page for ongoing elaborations of CHT features added in 2009.

Any questions, or suggestions, feel free to post them here.

Best of the NEW YEAR to all of you!

Cheers...
Gus M. Creces
The Clarion Handy Tools Page