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.

Saturday, May 24, 2008

Build 12B1.01 - Update Posted

On May 22, 2008 we posted some changes for the 12B1.00 Build. This includes one new demo app, a new video, and some low-level additional code that warrants a version number change (to 12B1.01). The low-level code additions are in preparation for some new templates coming for the 3rd quarter build so we won't discuss the specifics of that in the context of this sub-release of the second quarter build.

However, we do want to focus some attention on the new demo app called HNDSQLTRACE.APP since it has the potential to be extremely useful to those of you who write SQL applications using Clarion 6. The application's splash screen and the video available from it's About menu explain in considerable detail how the application works and what benefit it is designed to provide. We'll let those things do the talking to tell you about HNDSQLTRACE.APP. Here are the links: HNDSQLTRACE.APP Information and HNDSQLTRACE.APP Video

Cheers...
Gus M. Creces
The Clarion Handy Tools Page
http://www.cwhandy.ca/

Friday, May 16, 2008

Build 12B1.00 - Minor Update Posted

I've posted some changes for the 12B1.00 Build, to fix some reported problems since the May 1st posting. These changes are minor and do not warrant a version number change.

The ABCBrowseRecordTaggerEx template should work correctly now with either hot key, MouseLeft or MouseLeftUp. In the prior release, the ABCBrowse would not select correctly when the hotkey used was MouseLeft. It did work correctly with MouseLeftUp. I've changed the hotkey selection mechanism on all XXXRecordTaggerEx templates to a dropdown from the built-in template alert key mechanism which does not provide for the easy insertion of MouseLeftUp as a standard alert key.

I could not reproduce the Calculator problem reported here by one user no matter where I tried it, so I think that may be isolated to the fact that he was using an older Clarion 6 version. The threaded calculator uses an ANY variable as the data transfer mechanism across threads and I've added an explicit CLEAR to initialize that variable. Earlier versions of Clarion 6 did require this, though the present version does not, since ANY variables are now implicitly initialized by Clarion itself.

Terry I've posted with this update the HNDSTRLB.CLW changes that you requested in these two functions:


HndStrLib.CStringToWideString PROCEDURE (*CSTRING xIn, *STRING xpOut, LONG xCodePage=0)
HndStrLib.WideStringToCString PROCEDURE (LONG xlWide, *CSTRING xOut, LONG xCodePage=0)


These functions work as before if you do nothing. However, you can now add a 3rd parameter providing a code-page value to have the correct code-page translation applied if you supply the code-page number. I've added specific CHT equates to handle the code-pages you asked about:


HND_CP_UTF8 EQUATE (65001) ! UTF-8 translation
HND_CP_GB2312 EQUATE (936) ! Chinese Simplified
HND_CP_Big5 EQUATE (950) ! ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)


You should be able to use any code-page number or combination in the 3rd parameter as required by the language in use.

Terry, since I haven't got any reliable way to test this myself, I'm relying on you for feedback as to whether this works to your satisfaction.

I've included fresh copies of all pre-compiled apps located in /3rdparty/hnd/ including HNDSCRPT.EXE since I neglected to do that in the last update. Also included are the following apps compiled with the latest version of C7: HNDZIPNFTP.EXE, HNDZIPNEMAIL.EXE and HNDHTTPZIPNPOST.EXE. These are supplied purely as a reminder that CHT is fully C7 compatible.

Take a look also at HNDCMP.EXE - the CHT Compile Manager - since it now implements a couple of the new templates: HANDYMARKERBROWSEROWMOVEBUTTONS and HANDYMARKERBROWSERECORDTAGGEREX.

In the prior release, a few of the demo apps had dictionary paths embedded in them. If I'm not careful to remove the dictionary path from our demo apps, those of you with clarion installed somewhere other than c:/clarion6/ can have problems compiling the demo apps. I've gone through all demo apps to make sure that dictionary paths were removed so all apps assume that the .DCT is located in the same directory as the application itself. This is how it's supposed to work.

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

Wednesday, May 14, 2008

So Much For Global Warming...

Okay, so this has nothing to do with CHT and this blog site is supposed to discuss all things CHT. I promise to be more disciplined about that in the future, but I've just got to get you to read a book I read this past week while relaxing by the pool in Florida.

It's about, ironically, the high possibility of an Ice Age in our life-time, heck in my life-time and from the last post, you know how long that is.

The book is by a man called Robert Felix. He began researching it in 1991, well before global warming entered public consciousness in any big way. The book has been updated several times and as far as I'm concerned, it's an eye-opener because it turns the Al Gore stuff on it's head.

In fact it doesn't refute some of the Al Gore information, take ocean warming, for example. But it comes to different conclusions about what causes ocean heating and the ultimate consequences of extreme ocean heating.

Before you shoot me down for bucking the common trend, hear this guy out. He's not a nut-case as near as I can tell. Watch this video and then follow some of the links I've provided below.

Keep an open mind as you watch Robert Felix's video:
Video: Robert Felix: Not By Fire But By Ice and if you're not convinced, read his book Book: Not By Fire But By Ice.

He's not denying global warming. But he suggests that a natural cycle, that repeats every 11,500 years brings on ice ages. The fossil record reports this has happened quite predictably, give or take 100 years, for at least 500,000 years. We're due for another one. There is some serious evidence that he may be right. One of the side effects is apparent global warming due to ocean warming.

Ocean warming leads to evaporation. Ever greater evaporation leads to unusual amounts of percipitation, and growing ice accumulation in the winter seasons and at high elevations. Twelve inches of rainfall equates to 120 inches of snow. All you need is a week or two of torrential percipitation in the winter season and the possibility of an ice-age cycle beginning is magnified until one day, the snow is just too deep to melt in a single spring-summer cycle. The fossil record indicates this can happen very quickly, in as little as 10-20 years. The Wolly Mammoth and a few other large mammals died in the last ice age. A few were found frozen with fresh flowers and grasses in their stomachs, as if they had been flash frozen.

Polar ice is melting presently due to ocean warming, and this is only part of an overall, natural cycle. Ocean heating, he claims is a normal phenomenon (perhaps assisted a bit by us) but primarily caused by underwater volcanic activity. There are at least a million underwater volcanoes some of them presently active and heating the oceans from down below where it really matters.

His book, which I recommend you read, has been updated several times. It's thoroughly researched and well documented. He's a lucid writer and his book makes a convincing case. I've followed up many of his scientific references and they appear accurate and up to date.

Some links to his references:

http://www.iceagenow.com/List_of_Expanding_Glaciers.htm

http://www.iceagenow.com/Greenland_Ice_Cap_Growing_Thicker.htm

http://www.iceagenow.com/18000_buried_in_one_city.htm

http://www.iceagenow.com/Jason_satellite_indicates_global_cooling.htm

http://www.iceagenow.com/Cold_temps_delay_planting_in_Idaho.htm

http://www.iceagenow.com/Great_videos_debunking_global_warming.htm

http://www.iceagenow.com/Harris-Mann_Seminar.htm

http://www.iceagenow.com/Geophysicist_an_ice_age_cometh.htm

http://www.iceagenow.com/Global_temperatures_drop_precipitously.htm

Cheers...

--
Gus M. Creces
The Clarion Handy Tools Page
http://news.cwhandy.ca
http://www.cwhandy.ca/chtvideoeducationfree.htm

I'm Back From Florida

I'm back from Florida with a really good tan and some great memories.

We spent a week at a Family Condo (my wife's family) in Cocoa Beach Florida. Spent a lot of time by the pool reading, and at the beach trying to learn how to use a surfboard. Also spent a full day at Cape Canaveral at the space museum. What a great place for geeks like me to visit!

Saturday was my birthday and Friday morning I was sitting on the back deck sunning and reading the paper when my youngest daughter poked her head out the sliding door and said "Hi, Dad".

I looked up and replied "Oh Hi, Natalie". Only then, of course, did the thought hit me, "Hey, where did you come from?". Because Natalie was not supposed to be there. She'd flown down for the weekend to spend a few days and to help celebrate her dad's 60th birthday. Of course everyone was in on this - except me - and I was totally taken by surprise!

The next day we all drove down to Orlando, where my oldest daughter Jessica and her husband John, were staying at an amazing Mariott Vacation Villa with 3 bedrooms. Jessica and John both work for RIM and are attending the WES convention there. This is the biggest single RIM event held anywhere. They of course, brought my grandaughter Gwenyth along and we all had a grand weekend and celebrated my birthday and Mothers day in one grand bash.

I stayed Monday and came home late yesterday as did Natalie. Natalie is a television producer in Toronto and had to get back to work. I'd committed to come back and do a little bit of CHT catchup here and then get back to my consulting practice in Toronto.

Laura, my wife, stayed behind to look after Gwennie until Friday when the WES convention is over and they all come home.

It's taken me all day to get back to reality and do some work after having 11 glorious days of holidaying with friends and family.

Thanks to all of you for holding off on the hard questions while I was away.

I've got a couple of bug fixes going up for 12B1.00 by the weekend.

Cheers...

Gus Creces
The Clarion Handy Tools Page
Visit Website

Thursday, May 1, 2008

Gus Taking A Holiday May 2 to May 14, 2008

I'll be winding down to recharge my batteries for about a week and a half. That'll help get a hectic first four months of 2008, and a record-snowy winter behind me with some sun and sand in Cocoa Beach Florida.

During that time, we will continue processing CHT orders and Gus will be checking in on the support forum to answer questions as usual. Feel free to post your questions in the usual manner to the CHT support forum.

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

Build 12B1.00 - Released Today

Build 12B1.00 was released to CHT subscribers at 4:20 pm (Easter Daylight Time) May 1, 2008. A summary of changes and additions follows:

These are in no particular order of importance, they're more or less direct extracts from my programmer's notebook pages, scratched out since March 15, 2008 when the last update was posted.

• A font change in HNDFSYNC.APP improves record editing in edit-in-place mode. The earlier font made edit fields difficult to read.

• There's a new server example called HNDCLIENTSV.APP. This is intended to act as a starting point for all CHT Client Server applications. It will start for the first time, in the clarion6\hndapps\hndclientsv\ directory with empty client files and some configuration information as a type 3 server. This application is the basis for our upcoming CHT Client Server video. (See video schedule).

• I fixed a problem with JumpStartGetServerVariablesByLocation(). This was not always returning the default parameter when the entity being fetched was missing from the config file. If you have a server that incorporates this function, you should delete the existing function and re-import this Jumpstart.

• I fixed CHT Scripter's "Local Server" function when the server type was set to "Type 3". This was shortening the window too much.

• CHT Scripter now hides some of the toolbar buttons as well as most of the script editing features, when the server is a "Type 3"(non-HTML) server such as HNDCLIENTSV.APP. This allows you to still interact with a client-style server to create email scripts.

• There's a new Jumpstart for Client Server app configuration. See the example in HNDCLIENTSV.APP. More will be said about this in the upcoming video VTK for Client Server applications.

• There have been some low-level changes in how CHT servers store their configuration information in the registry. All entries that were once "FILE" have been changed to "CONFIG". If you have existing servers, I suggest not re-compiling them with this build until you've had a chance to examine the current registry configuration setups for the demo servers. If you do want to recompile and reconfigure an existing server before the video documenting this change has been released, the easiest way to do this is to go into the registry and rename that server's existing configuration. Next, run the server and complete the
configuration again from that server's configuration dialog. You can always go back into the prior, renamed configuration, to cross check what has changed. I suggest doing this also with any CHT demo server that you may have run in the past, since they will already have configurations in your registry that need to be changed.

• There's a new template called EmbedAppHookFunctions which is illustrated in HNDSETUP.APP.

• There are several new record tagging templates: ExplorerBrowseRecordTaggerEx, LocatorOverRideRecordTaggerEx and HandyMarkerBrowseRecordTaggerEx. These are EXTENSION template versions of the templates of the same name - without the Ex - that you had earlier (and still have). Extensions are just easier to use than CODE templates since you don't have to know on which embed point to drop them. There's also a new one for pure ABC browses called ABCBrowseRecordTaggerEx. This last one will work on any ABC Browse without CHT Extensions.

• HNDLRNSV.APP has had a server user dialog added which allows you to browse and edit the user file right from the server. All starting-point servers of this type now provide you with a user browse and edit form to make early testing easier. Again, more will be said about this in a series of Server VTK videos upcoming this spring and summer.

• The HNDWINDOW class tray icon was not always disappearing when an app was closed, until you passed the mouse over the icon. This is actually the result of a bug in Windows not passing on an event in a timely manner. I found a workaround for this on the Microsoft website that solves the problem.

• There was a problem with the function GetUniqueMachineName() causing a GPF if the function was called on a machine without a "C:\" drive. This does performs a more intelligent drive analysis before deciding on which drive serial number to use.

• I've changed the default file size allowed to be uploaded to a CHT file server. If the file server is a "Secure" server where the user must login in and identify himself or herself, there is no theoretical file size limit, only a practical one. If the file server is not a "Secure" server the upload limit is still 5MB unless you change the equate in HNDEQU.CLW called HPROP:MaxUploadNoSessionCheck.

• There are a couple of new templates called EmbedCalculatorFunctions and HandyCalcEntryControl_ECF which help you to use our revised HNDCalcControl class calculator, HandyCalc() in your procedures. There's a video available in your CHT Flash Help Player (.SWF) or the CHT Video Education Player (.WMV) that explains this in considerable detail. See also demo app HNDCALCULATOR.APP.

• There is a new template for HandyMarkerBrowse that allows you to move records up and down in the sort order or to the top and bottom of the sort order using buttons and/or drag and drop. The template is installed, by way of providing an example, in HNDCMP.APP, the CHT Compile Manager. The main thing required to make this work is a keyed column in your browse that contains sequential numbers. The template is called HandyMarkerBrowseRowMoveButtons. We'll get you a video detailing how this works as soon as possible. We're also planning to provide a similar template for ExplorerBrowse and LocatorOverRideControl, as early as build 12C1.00 in the next quarter.

Build 12B1.00 - Important Links


Summary Descriptions With Index- CHT Templates
Summary Descriptions With Index - CHT Demo Applications
Summary Descriptions With Index - CHT Templates New In 2008
About The Clarion Handy Tools
CHT Class Libraries With Links To Headers
CHT Video Education Page



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

Monday, April 14, 2008

UpComing Build 12B1.00 - Advance Comments

Things have been a bit quiet here for the last couple of weeks. That's because we've been busy getting ready for an upcoming Build 12B1.00 release, as well as preparing demo apps for a promised series of CHT web-server videos. Not to mention the fact that I've personally been occupied by what's turning out to be a long-term consulting/development project for a multi-national corporation. That work has eaten into some of the time we can devote to moving CHT development along at it's usually brisk pace.

I hope you don't feel too hard done by, given that my consulting/development arrangement seems to be consuming some of our CHT development time. One side benefit of that alternate pre-occupation, is that the contract work subsidizes CHT's cost. With our all-in subscription model, remember that we don't charge you separately for every new feature added to the product. Our financial model is purely based on how many subscribers continue to opt in for renewals. We're well aware of the need to provide, in addition to bug fixes, feature enhancements and ongoing Clarion version compatibility, at least $250.00 (your renewal cost) of brand, spanking new features each year. Don't fret, we're on it.

In fact, one of the things I'm really excited about - and which we'll tell you about in a future posting - is a report feature under consideration for CHT, based on a concept I introduced to my present contract development firm. Nothing proprietary, obviously, or we wouldn't be able to share it with you. But it's truly innovative, since it totally divorces report-writing from the Clarion internal report engine and from that sadly neglected Clarion step-child, Report Writer. It works on the web just as well as locally and it will work equally well in Clarion 6, 7 and Clarion .NET with no changes required on your part. That's all we're going to say about this for now until we get closer to realization.

For 12B1.00, we've made some useful changes to some of the key server demos - the ones used as starting points for your own server development. These changes I'm certain will help to eliminate at least some of the stumbling blocks to getting started with server development. There will be some server configuration impact for those of you with CHT servers already in place, so you'll need to pay attention (and consult with me if you need to) when you recompile your servers using 12B1.0. But once completed with those configurations, you'll agree that these are definite improvements that make your longer-term server deployment tasks easier to accomplish.

For 12B1.00 I wrote here recently about incorporating the Gitano Calculators (haven't even looked at the Calendars yet). Scratch that. I had one of them sort-of-converted to our way of doing things for 11B1.03 but we've decided to throw it out. Instead we've used some of the interface and functionality concepts in these calculators and have created a new calculator procedure from scratch (using CHT's own coding style, considerably more code-reuse and full CHT integration) that we think is better - or will be when you've had a chance to provide some user feedback. There are also some new templates to attach this to your application.

We had planned on posting 12B1.00 this past weekend but have decided against that due to promises made in the last month or so to provide some features that weren't in our 2008 development plans. We also want to get ahead of you a bit on the server videos before letting 12B1.00 out the door. A feasible 12B1.00 release date now looks more like at or near the end of April 2008.

Cheers,
Gus Creces
The Clarion Handy Tools Page
Visit Website