<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-750476646499710759</id><updated>2011-10-11T09:57:35.703-04:00</updated><category term='CHT New Subscription Discount Ending Soon'/><category term='CHT On Vista'/><category term='Gus M. Creces'/><category term='Video About CHT And Web Installations'/><category term='Clarion Handy Tools'/><title type='text'>The CHT Blogger</title><subtitle type='html'>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.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3129608873573163785</id><published>2011-01-10T17:56:00.001-05:00</published><updated>2011-01-10T17:58:23.895-05:00</updated><title type='text'>Some Server Ideas For Our Contest</title><content type='html'>I thought I'd prime the pump with some ideas for browser server ideas that might interest some of you intrepid server designers out there. &lt;br /&gt;&lt;br /&gt;Remember that a burgeoning market for software of this sort that runs on hand-held smart phones and the whole host of tablet devices that will be hitting the market in 2011. Even if some of these things have been done before, aiming for this new platform may just give an old idea new life. &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Schedule Software: &lt;/h4&gt;&amp;bull; View Work Schedule &lt;br /&gt;&amp;bull; Personal Time Scheduler &lt;br /&gt;&amp;bull; Personal Reminder (enter event and it phones you or emails you when the event is close)&lt;br /&gt;&amp;bull; Meetings Scheduler&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Work/Travel:&lt;/h4&gt;&amp;bull; Expense log&lt;br /&gt;&amp;bull; Sales Call Updates, Reports &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Maintenance: &lt;/h4&gt;&amp;bull; Machinery Maintenance Updates, Reports &lt;br /&gt;&amp;bull; On-Line "Honey Do" list&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Store:&lt;/h4&gt;&amp;bull; Software Web-Store&lt;br /&gt;&amp;bull; Specialty Items Web-Store&lt;br /&gt;&amp;bull; Digital Photos Web-Store&lt;br /&gt;&amp;bull; Item Made to Specification Web-Store (eg: Made to Measure garment)&lt;br /&gt;&amp;bull; Digital Audio Web-Store&lt;br /&gt;&amp;bull; Digital Video Web-Store&lt;br /&gt;&amp;bull; Tickets to Event Web-Store&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Blog&lt;/h4&gt;&amp;bull; Personal/Business Blog Engine (small format for smartphones and tablets)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Customer Support&lt;/h4&gt;&amp;bull; Version of CHT Support Forum with small format interface for smartphones and tablets (self adjusting by device detection)&lt;br /&gt;&amp;bull; Product Information Lookup System&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Software Delivery&lt;/h4&gt;&amp;bull; Secure, Interactive Software Delivery Server (using browser as client) &lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Clubs&lt;/h4&gt;&amp;bull; Bowling Club scheduling, scoring, &lt;br /&gt;&amp;bull; Golf Club scheduling, scoring&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Surveys&lt;/h4&gt;&amp;bull; On-line Survey Taker, Results Displayer, Reporter&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Reports&lt;/h4&gt;&amp;bull; Ask for dynamic PDF reports with input query parameters (best for computers not smartphones)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Advertizing&lt;/h4&gt;&amp;bull; Classified Ads Server (eg: http://toronto.kijiji.ca/)&lt;br /&gt;&amp;bull; Display Ads Server (like Adwords, ads of various sizes that can be requested for insert by other web sites)&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Telephone&lt;/h4&gt;&amp;bull; On-Line specialty Phone directories&lt;br /&gt;&lt;br /&gt;Ok, that's a start.&lt;br /&gt;I'm personally going to:&lt;br /&gt;1) Add a second set of interface scripts to the CHT Forum Server&lt;br /&gt;2) Add a forum server that serves up a smart-phone version of the CHT Forum &lt;br /&gt;3) Add a software web-store server (I'll be able to use this to resell all the servers you guys write) ;-)&lt;br /&gt;&lt;br /&gt;Feel free to attach other ideas as you brainstorm. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3129608873573163785?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3129608873573163785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3129608873573163785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3129608873573163785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3129608873573163785'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2011/01/some-server-ideas-for-our-contest.html' title='Some Server Ideas For Our Contest'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5193841362188445093</id><published>2011-01-10T17:47:00.005-05:00</published><updated>2011-01-10T17:54:32.832-05:00</updated><title type='text'>ANNOUNCING: CHT Browser Server Design Contest</title><content type='html'>Between now and March 31, 2011 you have an opportunity to earn some money and prove your worth as a CHT Browser Server developer.&lt;br /&gt;&lt;br /&gt;I'm looking for some peripheral products to add to our lineup and one of the classes of product I want to offer is a pre-designed, stand-alone, browser server ready to go, but having a user-customizeable web interface that performs some less that every-day ordinary task. &lt;br /&gt;&lt;br /&gt;The server is not aimed necessarily at a Clarion developer, preferably directly at some end-use, that as I indicated, is not going to be easily found out there on the web. So the idea is as important as the implementation.&lt;br /&gt;&lt;br /&gt;When I say "user-customizeable web interface" that means the server functionality and data design is fixed but the user interface can be customized via configuration and via CHT Scripter to represent the customer's company, business, or organization. &lt;br /&gt;&lt;br /&gt;Components of any individual product sold this way will be: &lt;br /&gt;1) A browser server application built with Clarion 6 or 7 (preferably 7) and CHT templates only (no other 3rd party templates)&lt;br /&gt;2) A set of web scripts built with CHT Scripter to act as the user interface (customizeable by the end user) &lt;br /&gt;3) A copy of CHT Scripter (which I will supply as part of the package along with CHT Scripter documentation in PDF and video format)&lt;br /&gt;4) Any documentation that you feel is necessary to document the server's use, setup, and maintenance. &lt;br /&gt;&lt;br /&gt;The server is intended to be run on an in-house computer via a half-decent, fixed-ip connection not on publicly rented web space, unless it is a dedicated machine (reacheable by RDP) that the user controls and on which he/she can run one or more Clarion applications (your server being one of them). &lt;br /&gt;&lt;br /&gt;There will be 3 prizes First ($500), Second ($250), Third ($100) in cash paid via Paypal.  I reserve the right to not hand out any prizes if the submissions are unworthy as re-sale products. Any accepted products -- whether they win first, second or third or not, will be offered for sale on CHT's peripheral product website. All sales from here of your product, the income will be split 50/50. If you want to ALSO offer the product for sale on your own website that's OK with me too - if you cut me the same deal on the income split. &lt;br /&gt;&lt;br /&gt;Anyone who needs help developing their server product can ask for help from myself at no charge as long as the time involved is reasonable and I don't end up doing all the work. ;-)&lt;br /&gt;&lt;br /&gt;There is no contest entry fee. The only requirement is that you are a CHT subscriber. If your project is internal and cannot be packaged and sold on the open market, it is not eligible, again for obvious reasons.&lt;br /&gt;&lt;br /&gt;You can express your interest by replying and stating your interest on the CHT Developer Support Forum which you can reach from any of our Clarion Templates. &lt;br /&gt;&lt;br /&gt;Cheers... &lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://www.cwhandy.ca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5193841362188445093?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5193841362188445093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5193841362188445093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5193841362188445093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5193841362188445093'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2011/01/announcing-cht-browser-server-design.html' title='ANNOUNCING: CHT Browser Server Design Contest'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5871420484728782936</id><published>2010-12-01T11:48:00.008-05:00</published><updated>2010-12-01T11:58:04.290-05:00</updated><title type='text'>CHT Update News</title><content type='html'>We've posted a small update (no version number change) to both the C6 and C7Webupdaters. This update results partially from changes I've made to HNDSCRPT.APP (CHT Scripter), now Versioned 8.0.0.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Scripter Clears Your Web Cache&lt;/h2&gt;&lt;br /&gt;CHT Scripter now will clear your web cache whenever you save/generate your scripts or when you push the preview button. The preview button, by the way, does an automatic save/generate so you don't need to push save before pushing preview.&lt;br /&gt;Most browsers have a way of internally caching objects while they remain open so any cache clearance that Scripter performs only really takes affect when you exit the browser. My normal modus operandus is always to close the browser after a test/preview session. That way, any changes to scripts in the next preview session will take affect immediately.&lt;br /&gt;&lt;br /&gt;Preview is able to enter any secure page in your site directly without prior login, if you have Scripter login set up in your browser server app and your server member file contains a valid scripter account. The trick is to set up the CALLSERVERWITH tags correctly for any secure page that would otherwise require login prior to your being able to enter it.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;An Example Use Of The CALLSERVERWITH tag: &lt;/h2&gt;&lt;br /&gt;CALLSERVERWITH(QRY$~sessionid~viewid=NGMEMBERSVIEW&amp;querypage=1&amp;end)&lt;br /&gt;The ~sessioid~ macro that you see above is used as a place holder for the session id. When your test server is set up with a valid scripter account, your server logs that account in when your server starts and inserts the sessionid value into the server's config file. That config file is shared by CHT Scripter during any test session so Scripter reads the session id from the config file and inserts it into the CALLSERVERWITH string where the ~sessionid~ macro appears. The remainder of the server command inserted in the CALLSERVERWITH string is any valid server command. Above we're sending the QRY$ (Query) command to open a query page on the NGMEMBERS view using the entry point in your server provided by BuildQueryPage_BIC template instance #1.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Scripter Can Generate Standalone .JS and .CSS Include Files&lt;/h2&gt;&lt;br /&gt;Prior to this latest version of Scripter (C6 or C7 versions are interchangeable) all .JS scripts genereated into the SERVERNAMESUB.JS file and all .CSS scripts generated into the SERVERNAMESTY.CSS file. These two files are automatically inserted into the top of any web page issued from your browser server. The latest server version generates any javascript collection scripts ending in .JS into a separate file using the name provided in the "Item Name" Scripter field. Scripter then makes an entry for that file in your server config file where your server can pick up the name of that file dynamically and insert it into the HEAD portion of your dynamic web pages. What this change provides by way of improvement is the ability to: &lt;br /&gt;&lt;b&gt;a)&lt;/b&gt; insert whole 3rd party generated scripts (say from Dreamweaver or XARA)&lt;br /&gt;into scripter and maintain them there intact &lt;br /&gt;&lt;b&gt;b)&lt;/b&gt; allow you to add new scripts without having to recompile the server to add another page INCLUDE file.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;HNDMTSNG.APP Updated To Version 8.0.0 and Scripts Modified&lt;/h2&gt;&lt;br /&gt;I've changed HNDMTSNG.APP (the browser forum app) to conform to the Scripter changes introduced above. HNDMTNSG.APP no longer uses any template-inserted include files, which require a recompile to change them. All include files used are now inserted dynamically via the server's config file. At the moment these config-file&lt;br /&gt;INCLUDE usages are embedded in the server manually for testing purposes. This update includes a version of HNDMTSNG.APP that does this so you can try it. Once the testing period has passed I'll be adding template subroutines that write these&lt;br /&gt;presently hand-embedded sections automatically.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Problems Not Yet Addressed In This Update&lt;/h2&gt;&lt;br /&gt;The C6 version of Scripter lets you open The "Edit Scripts" window, at the same time as the "Configure Variables" window, at the same time as the "Local Server" window, no problem. The C7 version of Scripter chokes on this. Since code-wise these Scripters are identical, this bad behaviour from the C7 scripter is a thread contention problem related directly to C7 similar to the lockup issue in the C7 IDE itself when left or right fly windows cause the C7 IDE to hang. As far as the C7 Scripter is concerned be aware that I'm aware of this problem and I'll eventually find a workaround or a solution.&lt;br /&gt;&lt;br /&gt;There's a problem with BuildQueryPage_BIC templates (again only in the C7 code generator) with deleting one of these templates and inserting a fresh one in its place. The numbering scheme can be off by one and some code from the deleted one continues to generate. Again I'm aware of the problem and am working on it. These templates work fine in the C6 version generator. So again this is some anomaly happening in C7 only. An obvious C7 workaround for the time being is not to delete&lt;br /&gt;an existing BuildQueryPage_BIC template before adding another one, but to simply change the parameters on the one you were planning to delete to the parameters of the one you intended to add.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Forward Plans, Now To New Year's&lt;/h2&gt;&lt;br /&gt;I was planning another .DOT .NET seminar but have decided to move these plans forward as we still haven't seen the .NET code generator. &lt;br /&gt;&lt;br /&gt;There is a great deal of movement in the portable computer (Tablet) market and in the price, speed and connectivity available to portable devices. Since CHT Browser Server technology is perfectly positioned to provide interactive data applications to smartphone devices (like Blackberry) and tablet devices (like Blackberry Playbook) I'm doing a round of updates and changes (like the ones announced above)&lt;br /&gt;to make it easy as possible for CHT developers to take advantage of the latest portable computer/smart phone devices. Initally we'll address the browsers in these devices so that the client side of your application runs as HTML/Javascript/Flash/ script. In the background, I'll be keeping an eye on how we can help you build compiled clarion clients (or at least hybrid clients) that run directly on these devices.&lt;br /&gt;&lt;br /&gt;The next few CHT Webinars will zero in on CHT Browser Server application building, at the basic level but also introducing outside script sources from DreamWeaver, XARA and others (in the fashion that Didier Le Duc is doing). Time permitting before&lt;br /&gt;Christmas we may be able to illustrate running CHT scripter generated applications inside a Blackberry smartphone emulator or in a Blackberry Tablet emulator.&lt;br /&gt;&lt;br /&gt;That's all for now. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:gcreces@gmail.com"&gt;gcreces@gmail.com&lt;/a&gt;&lt;br /&gt;December 1, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5871420484728782936?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5871420484728782936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5871420484728782936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5871420484728782936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5871420484728782936'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/12/cht-update-news.html' title='CHT Update News'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4978330145843277402</id><published>2010-10-21T15:07:00.003-04:00</published><updated>2010-10-21T15:16:54.981-04:00</updated><title type='text'>Build 14D1.00 Now Available For C7</title><content type='html'>The 4th quarter Build 14D1.00 is now available for download via Webupdater C7. &lt;br /&gt;&lt;br /&gt;This was posted last night, so some of you may have installed this build when you got up this morning. &lt;br /&gt;&lt;br /&gt;If you did install this build before this announcement (made 3PM EDT, Oct 21, 2010) you should re-run Webupdater to pick up any last minute changes (and missing pieces)that were inserted into this install since this morning.&lt;br /&gt;&lt;br /&gt;The C6 version of 14D1.00 will follow in a few days. As mentioned in an earlier posting, I'm now doing all CHT forward work right in C7 so that when the C7 work is done, I need to double check everything in C6. In the past I've always worked forward from C6 to C7. Look for the C6 version of this build early next week. &lt;br /&gt;&lt;br /&gt;Keep an eye here over the next few days for various postings outlining various changes and additions incorporated into Build 14D1.00. Similar posting will (over the next week or so) be posted to the &lt;a href="http://www.cwhandy.ca/October2010.htm"&gt;What's New Page&lt;/a&gt; and to my blog, &lt;a href="http://clarionhandytools.blogspot.com/"&gt;The CHT Blogger&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;Cheers...&lt;br /&gt;Gus&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4978330145843277402?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4978330145843277402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4978330145843277402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4978330145843277402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4978330145843277402'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/10/build-14d100-now-available-for-c7.html' title='Build 14D1.00 Now Available For C7'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-884728034705996701</id><published>2010-10-12T19:09:00.004-04:00</published><updated>2010-10-14T15:47:18.999-04:00</updated><title type='text'>Code Signing Your Applications (Video)</title><content type='html'>We've just completed a video that talks about code signing. It discusses the purpose of code-signing, and how you can self-sign your applications free of charge using a new CHT Utility application called Handy Code Signing Utility. &lt;br /&gt;The video is self explanatory so it should need no more introduction, click the link below to watch this 30 minute video: &lt;br /&gt;&lt;a href="http://www.screencast.com/t/w0Ee9We82HCl"&gt;Code Signing Your Applications &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The application being discussed will be available in our 14D1.00 build available this month (October 2010). &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;gcreces@gmail.com&lt;br /&gt;October 12, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-884728034705996701?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/884728034705996701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=884728034705996701' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/884728034705996701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/884728034705996701'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/10/code-signing-your-applications-video.html' title='Code Signing Your Applications (Video)'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-261351820922237270</id><published>2010-09-28T10:58:00.001-04:00</published><updated>2010-09-28T11:00:36.740-04:00</updated><title type='text'>Free Friday CHT Webcast Seminars</title><content type='html'>I want to alert you to a new CHT feature (free) for our subscribers that you may want to take advantage of. Every Friday at 11 AM EDT (EST after the time change),I'm going to give an on-line CHT Webcast seminar, using Go-To-Webinar that any CHT subscriber is welcome to attend. &lt;br /&gt;&lt;br /&gt;In the first Webcast this coming Friday October 1st, 2010, I'm going to be talking about the new Compile Manager for C7 which I'm about to release with our 4th quarter build 14D1.00 around October 5th or 6th if all scheduled work goes as planned. &lt;br /&gt;&lt;br /&gt;The topics to be covered at this point are not all firmly established so input from you as to what topics you'd like me to cover is very welcome. In all cases, if you do ask for a topic, the more specific you are, the more likely I am to be able to satisfy your requests. &lt;br /&gt;&lt;br /&gt;My approach to these seminars will be to pick an existing CHT demo application or two and discuss what major CHT functionality underlies the application(s). I intend to get quite technical where necessary and to go into the innards of the template / class combinations that bring any given CHT functionality into your application. The upshot of this will be to have you better leverage CHT in your own applications to get more out of our toolkit than many of you are able to do. &lt;br /&gt;&lt;br /&gt;If you want to be on the auto-invitation list for these seminars, just send me a separate email from the email address you'd like that invitation to go to. When you send that email, please include in the subject CHT FRIDAY SEMINAR INVITATION. &lt;br /&gt;&lt;br /&gt;I will also post an invitation here on the CHT forum 5-15 minutes before start time each Friday. &lt;br /&gt;&lt;br /&gt;Please be technically prepared:&lt;br /&gt;It's imperative, to be prepared for this type of on-line/two way webcast by having a proper headset and microphone if you intend to speak or ask questions. Previous experience tells me that individuals who try to work with computer speakers and broad-pickup microphones such as the type built into laptops, will need to be muted because of the amount of ambient noise and feedback that results when more than couple of people are involved in the Web-cast. Logitech (and others) have good earphones with a quality built-in microphone that picks up very little background noise. These are reasonably priced and will outlast your computer. &lt;br /&gt;&lt;br /&gt;Any Webcast topic requests that you have may be posted here on the forum as a REPLY to this posting. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;gcreces@gmail.com&lt;br /&gt;September 27, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-261351820922237270?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/261351820922237270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=261351820922237270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/261351820922237270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/261351820922237270'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/09/free-friday-cht-webcast-seminars.html' title='Free Friday CHT Webcast Seminars'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5151628478111464149</id><published>2010-09-17T09:29:00.003-04:00</published><updated>2010-09-17T09:33:15.676-04:00</updated><title type='text'>CHT Compile Manager For C7 - Nearing Release</title><content type='html'>This app has been a long time coming.&lt;br /&gt;&lt;br /&gt;Because C7 is so different from the standpoint of application-creation-automation than C6, it's taken us weeks of trial and error to get to the point of harnessing the C7 compiler and generator system in a way that appears and operates seamlessly from the compile manager interface. We're nearly there now, and we're impressed both with how it works and how well the app has come together.&lt;br /&gt;&lt;br /&gt;In the past, we've always defaulted back to C6 to do any CHT development work since CHT has to be both C6 and C7 compatible. With the C7 compile manager project, we were forced to work entirely in C7 since nothing in the inner workings of C7 Compile Manager works in C6 anyway. C6 uses DDE to communicate to the IDE for compile/generate automation and C7 uses a DOS command-line interface for compile/generate automation.&lt;br /&gt;&lt;br /&gt;In the meantime, we're finally getting over our impatience with the "differences" in C7's way of doing things, and have learned to embrace them and accept most of them, bad, good or indifferent. Henceforth, we'll be changing our mode of operation and doing most of our CHT development work using the C7 IDE - all, I suppose, except for the development of C6 demo apps which will have to still be accomplished in C6. Template and class changes and additions, neverthelsess, will be handled from the C7 IDE.&lt;br /&gt;&lt;br /&gt;Though it's taken several weeks, C7 Compile Manager has all the features of C6 Compile Manager &lt;u&gt;and then some&lt;/u&gt;. See the interface below:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/hndcmpc7.gif" alt="hndcmpc7.gif"&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;All without opening any application you'll be able to do the following from the C7 Compile Manager Interface:&lt;br /&gt;&lt;br /&gt;1) Switch between EXE and DLL compilation of an app &lt;br /&gt;2) Assign a DLL memory load address for your DLL (Optional) &lt;br /&gt;3) Change link mode from Library to DLL (this used to be called LOCAL and STANDALONE in C6) &lt;br /&gt;4) Switch app compilation between Debug and Release mode &lt;br /&gt;5) Switch app compilation between expiration and non-expiration mode&lt;br /&gt;6) Switch from HNDFBACK.TRN (English translation file) to HNDCUSTOM.TRN (user translation file)&lt;br /&gt;7) Adjust processor affinity of the EXE for multi processor machines&lt;br /&gt;8) Assign code signing information into the executable&lt;br /&gt;9) Export the app to TXA&lt;br /&gt;10) Compress the executable&lt;br /&gt;11) Copy the executable to a configured target directory&lt;br /&gt;12) Stop compilation on error or continue to next, useful when making DLLs on which later apps depend&lt;br /&gt;13) Generate app discovery HTML into a configured target directory (this can be served up on the web or on a network if you like)&lt;br /&gt;14) View a compile log for each application giving full details of what happened during compile&lt;br /&gt;&lt;br /&gt;All this, without having to open the application to adjust it's internal project settings! All operations default to OFF where relevant (example generating the TXA) and can be switched on individually for any given app. Some operations such as Link mode obviously are toggles (as between Library and DLL mode), so they don't have an&lt;br /&gt;OFF/ON aspect to them, but rather an either/or aspect.&lt;br /&gt;&lt;br /&gt;All operations can be pre-configured to be ON or OFF EITHER/OR automatically when a new app is added to the compile list.&lt;br /&gt;&lt;br /&gt;We're testing this at the moment and as soon as we're satisfied that it's ready for prime-time it will be released along with the normal template and class changes that happen around here on an  on-going basis.&lt;br /&gt;&lt;br /&gt;That's all for now. More about this as release-time nears. And a C7 Compile Manager video is slated for production.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces   &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:gcreces@gmail.com"&gt;gcreces@gmail.com&lt;/a&gt;&lt;br /&gt;  September 17, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5151628478111464149?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5151628478111464149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5151628478111464149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5151628478111464149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5151628478111464149'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/09/cht-compile-manager-for-c7-nearing.html' title='CHT Compile Manager For C7 - Nearing Release'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8496453833811515229</id><published>2010-07-15T10:27:00.003-04:00</published><updated>2010-07-15T10:31:41.553-04:00</updated><title type='text'>Build 14C1.00 Just Released</title><content type='html'>&lt;h2&gt;Clarion 7 CHT Demos - Build 14C1.00&lt;/h2&gt;&lt;br /&gt;In this build, all the demos from C6 will be available for C7 with the exception of HNDCMP.APP. I'm still holding off on HNDCMPC7.APP as for the time being we have HNDCOMPILE.EXE which works pretty well as a bulk batch compiler for C7 - better, I think, than trying to construct a solution app that contains 140 individual apps. Any time I've tried to build a multi-app solution and inserted multiple apps other than one at a time, C7 GPFs. HNDCOMPILE dispenses with the need for any of that multiple apps in a solution and, because the batch file it creates runs in a separate DOS window, it time-shares very nicely with other work being done on the machine.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Windowless Services&lt;/h2&gt;&lt;br /&gt;There are three new Windows Service demos in this build. These are windowless services that can be used as examples for your own windowless services projects - or you're welcome to use the examples as is.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;HNDBACKUPSERVICE_A.APP - Backup To ZIP Script Service&lt;/h2&gt;&lt;br /&gt;HNDBACKUPSERVICE_A.APP - this is a timed backup service that uses a text script called HNDBACKUPSERVICE_A.INI which you can edit and configure to list files (and/or) directories that you want to back up into a zip. Standard file wild cards may be used to describe the files to be backed up from any given directory. Also configured is a target directory to which files to be backed up are first copied before being zipped (once zipped these backup files are deleted again). Also configured is a target zip directory where the time-stamped zips are copied. I've been testing this app for about a month on my own machines here and the backups are reliably happening at the designated backup time. This app uses the global template GLOBALINCLUDEHNDUTILITIESDLL, so this app acts as a further example of what you can do with the HNDUTILITIES.DLL introduced in the last update.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;HNDBACKUPSERVICE_B.APP - Backup to HZO Script Service&lt;/h2&gt;&lt;br /&gt;HNDBACKUPSERVICE_B.APP - this is a timed backup service much like the one just described. It uses a text script called HNDBACKUPSERVICE_B.INI which you can edit and configure to list files and/or directories that you want to back up to a CHT, HZO file. Remember that you can use HNDSETUP.APP to uncompress and restore the contents of an HZO file to disk. Of course you could write your own HZO decompression app based on one of our existing examples. This app does not use HNDUTILITIES.DLL as it is based on CHT classes that we've not yet isolated into a separate DLL as we've done with the HNDUTIL class.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;HNDSTARTSERVERSERVICE_A.APP - Start multiple Servers After Machine Reboot&lt;/h2&gt;&lt;br /&gt;This demo is based on something I built for myself a few years ago to restart my servers after a power failure or server machine reboot. Using this app, rather than making every server a seperate Windows service, I only need one service which restarts and verifies restart of all of my server applications. Once the servers have been successfully started, this service unloads itself from memory. However, it does remain registered as a service and will re-load if the hardware reboots. At which time it will once again restart the servers and make sure they're all running before unloading itself again.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Some CHT Demos Have C7-Specific Names and Usage&lt;/h2&gt;&lt;br /&gt;When I mentioned that we now have all of the C6 demos converted for C7 I should have mentioned that some of these have been renamed slightly to indicate that they are specific to C7. The apps so designated are as follows:&lt;br /&gt;HNDABCHKC7.APP&lt;br /&gt;HNDAPPSPLASHTOHTMLC7.APP&lt;br /&gt;HNDBACKUPCONFIGC7.APP&lt;br /&gt;HNDCLXHTC7.APP&lt;br /&gt;HNDCOLORC7.APP&lt;br /&gt;HNDFSYNCC7.APP&lt;br /&gt;HNDLNCHC7.APP&lt;br /&gt;HNDSETUPC7.APP&lt;br /&gt;HNDTPXHTC7.APP&lt;br /&gt;HNDZINDEXC7.APP&lt;br /&gt;&lt;br /&gt;All of these apps (the C6 versions) contained path settings or lookups that made them C6 specific. These C7.APP versions have specific features referencing C7 path settings and lookups. That is not to say that some of the other apps didn't require some C7-specific changes regarding paths, but the above apps in particular have a Clarion7-related purpose that makes it important to be able to distinguish the C7 app from the C6 version.&lt;br /&gt;&lt;br /&gt;Our Report Writer Demo HNDREPORTWRITER.APP wouldn't compile in C7 because there have been some function signature changes in the SV Report-Writer library that our templates and classes latch into. We've added a new file to accompany HNDRWPRLIB.CLW and HNDRWPRLIB.INC called "HNDRWPRLIBC6C7.INC". This file contains the SV report writer library prototypes for both C6 and C7 surrounded by OMIT/COMPILE directives to distinguish at compile time whether you're compiling for C6 or C7 so that the correct report writer interface is linked in. We've tested this here with good success, such that our HNDREPORTWRITER.APP runs identically whether compiled in C6 or C7.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;WEBUPDATER FOR Clarion.NET Ready To Test&lt;/h2&gt;&lt;br /&gt;I have WEBUPDATER For Clarion.NET ready to go but it needs some testing by knowledgeable CHT developers. I am going to post it on our download site this week, but I'm asking for a few volunteers from the group who took the CHT DOT NET SEMINAR to do the testing before we roll out any CHT DOT NET Componentry to the CHT community in general. Volunteer testers, feel free to send me an email or reply to this posting if you've got some time to help test the viability of WEBUPDATER for Clarion.NET. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8496453833811515229?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8496453833811515229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8496453833811515229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8496453833811515229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8496453833811515229'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/07/build-14c100-just-released.html' title='Build 14C1.00 Just Released'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8812918916627486597</id><published>2010-06-11T10:54:00.003-04:00</published><updated>2010-06-11T10:56:53.007-04:00</updated><title type='text'>CHT DOT NET Seminar Series #1 (6 Videos Approx 15 Hours)</title><content type='html'>We've completed, recorded and posted for viewing and download, our CHT DOT NET Seminar Series #1 (6 videos Approx 15 Hours). The series is currently being edited to shorten it a bit (to approx 12 hours) and to smooth out some of the rough spots.&lt;br /&gt;&lt;br /&gt;Editing will take at least another month, probably longer, before we're prepared for a retail release of this.  In the meantime, some of you have expressed interest in viewing and interacting with this video series "in the rough" since you couldn't fit the live presentations into your busy schedule.&lt;br /&gt;&lt;br /&gt;If you're still interested, visit this page &lt;a href="http://www.cwhandy.ca/dotnettraining.htm"&gt;(http://www.cwhandy.ca/dotnettraining.htm)&lt;/a&gt; to find out more. Below the "Cost" section near the bottom of the page is a "Seminar X Details" list that elaborates topics covered and even provides a ten minute preview of each of the 6 videos.&lt;br /&gt;&lt;br /&gt;Seminar videos may be streamed for on-line viewing or downloaded for more at-your-convenience interaction. Approximately 100 source code samples in C# and Clarion# are included along with a free 267 page PDF book by Charles Petzold called ".Net Book Zero".&lt;br /&gt;&lt;br /&gt;Purchasers of the "rough cut" videos will, of course, be given both stream and download access to the "final cut" at no extra charge, just as the "live" seminar participants are being given access to both the "rough cut" and "final cut" videos.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;usersupport@cwhandy.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8812918916627486597?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8812918916627486597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8812918916627486597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8812918916627486597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8812918916627486597'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/06/cht-dot-net-seminar-series-1-6-videos.html' title='CHT DOT NET Seminar Series #1 (6 Videos Approx 15 Hours)'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1989880269992471837</id><published>2010-06-09T14:29:00.003-04:00</published><updated>2010-06-09T14:33:17.940-04:00</updated><title type='text'>Build Update Posted (14B1.01)</title><content type='html'>We've just posted the 14B1.01 Build (Dated June 7, 2010) for C6 and C7.&lt;br /&gt;&lt;br /&gt;For a list of new and revised templates consult these links:&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates2010.html"&gt;http://www.cwhandy.ca/chttemplates2010.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates2010.pdf"&gt;http://www.cwhandy.ca/chttemplates2010.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Have a look also at a new demo app called HNDTESTUTILITIES.APP. This app, while not quite finished illustrates use of a CHT dll called HNDUTILITIES.DLL which repackages HNDUTIL.INC/CLW as a set of MAP procedures (like Clarion's Builtins). This DLL can be attached to any dll-style application to add 100+ low level functions globally into your app. Take a look at HNDTESTUTILITES.APP for examples of things that this DLL can do.&lt;br /&gt;&lt;br /&gt;The list of functions with explanations of what they do can be found in your libsrc directory and is called HNDUTILITIES.CLW. You can also recall this list of functions from the global template GlobalIncludeHNDUtilitiesDLL.&lt;br /&gt;&lt;br /&gt;There's nothing this DLL does that our HNDUTIL class doesn't already do but it can be used as a DLL based alternative in situations where you might normally use the HNDUTIL class. The procedure packaging as I've said in this case is not class-based but MAP based so the calling convention is different and the prototypes and procedure names are not necessarily the same.&lt;br /&gt;&lt;br /&gt;My intention with this and another couple dozen CHT classes is to produce these as stand-alone products for C6 and C7, that I can sell separately to developers who just won't buy into the subscription scene and who buy bits and pieces here, there and everywhere and then complain like hell that their supplier hasn't kept his product up to date with the latest Clarion version. I'm including these, of course, as part of your full CHT subscription package (even the source code for the DLL itself - see next paragraph)so you can use them or not as you see fit. They may help you decide to ditch some specific-use 3rd party functionalities that you didn't know were already in CHT.&lt;br /&gt;&lt;br /&gt;If you're interested how the DLL was created, look at an app called  HNDUTILITIES.APP. This is the app that I use to actually create the DLL and export functions from it. Be careful with this app as it will generate a second copy of the DLL and a file called HNDUTILITIES.CLW. If you do decide to compile this DLL, make sure to get rid of the HNDUTILITIES.CLW file that it generates as it name clashes with the MAP file that we've inserted into your libsrc directory with commented prototypes for the DLL.&lt;br /&gt;&lt;br /&gt;I welcome suggestions and comments on these new components so feel free to make them. &lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:gcreces@gmail.com"&gt;gcreces@gmail.com&lt;/a&gt;&lt;br /&gt;June 8, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1989880269992471837?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1989880269992471837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1989880269992471837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1989880269992471837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1989880269992471837'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/06/build-update-posted-14b101.html' title='Build Update Posted (14B1.01)'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5496898061423676129</id><published>2010-06-09T14:25:00.002-04:00</published><updated>2010-06-09T14:29:32.289-04:00</updated><title type='text'>It's Time To Connect With The DOT NET Coding Revolution</title><content type='html'>Since the release of Microsoft's C# 1.2 -- in October 2003 -- and the evolution of DOT NET 1.0 through to DOT NET 4.0, a lot of things in the application development world have evolved in ways that have not included Clarion. &lt;i&gt;That is, until recently, given the ever-so-gradual evolvement of Clarion Sharp.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In March of this year, it occurred to me that it was time that Clarion# was taken out for a few hard laps around the track to compare -- &lt;i&gt;or perhaps contrast&lt;/i&gt; -- its capabilities feature-for-feature against C#. Since C# is the defacto .NET language, despite the introduction of numerous "Sharp" languages in the last seven or eight years, I wanted to see whether SV's Clarion# language implementation was a worthy member of the .NET language community, which includes, C#, F#, A# GTK#, Qt# and others.&lt;br /&gt;&lt;br /&gt;Since having adopted C# as my second-favorite development environment after traditional Clarion, I came to realize that much of what I was doing as a toolmaker for Clarion Win32 involved expansion of the language to fill the ever-widening gap between Clarion and the operating system. Suffice it to say, I found myself in the last couple of years, backfilling missing pieces in Win32 Clarion using C# DLLs hooked into Clarion six and seven using an intermediate technology called &lt;i&gt;COM&lt;/i&gt;. Perhaps the time had come to think seriously about making .NET&lt;br /&gt;my default coding environment.&lt;br /&gt;&lt;br /&gt;What I found was an eye-opener! The Clarion# language is ready to be used &lt;i&gt;today&lt;/i&gt; even before a template generator is added into the Clarion.NET IDE. It implements most coding concepts available to C# - &lt;i&gt;with a few exceptions such as operator overloading&lt;/i&gt; - and runs as fast as C# - &lt;i&gt;with a few exceptions such as methods using boxing and unboxing techniques&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The only problem -- &lt;i&gt;getting Clarion 6 and 7 users to believe it!&lt;/i&gt; Not that I blame them for having reservations, since I didn't really believe it myself until designing and giving a &lt;a href="dotnettraining.htm"&gt;DOT NET Seminar Series&lt;/a&gt; based on a free PDF book by &lt;a href="http://www.charlespetzold.com/bio.html"&gt;Charles Petzold&lt;/a&gt; called &lt;a href="http://www.charlespetzold.com/dotnet/"&gt;.NET Book Zero&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;During the months of April and May 2010 these six seminars were given on-line, three times each week using GoToMeeting. We recorded the Friday (3rd presentation) of each of the six seminars and have packaged them - &lt;i&gt;warts and all&lt;/i&gt; -  for interested developers who couldn't fit the on-line seminars into their busy schedules. Read about how you can take these seminars yourself, what prerequisites are needed to take them, and view a summary of each video's contents. Click &lt;a href="dotnettraining.htm"&gt;here&lt;/a&gt; to do that.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:gcreces@gmail.com"&gt;gcreces@gmail.com&lt;/a&gt;&lt;br /&gt;June 1, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5496898061423676129?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5496898061423676129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5496898061423676129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5496898061423676129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5496898061423676129'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/06/its-time-to-connect-with-dot-net-coding.html' title='It&apos;s Time To Connect With The DOT NET Coding Revolution'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1306398641895589437</id><published>2010-04-14T12:39:00.003-04:00</published><updated>2010-04-14T14:37:22.569-04:00</updated><title type='text'></title><content type='html'>In case you haven't read this yet, check out Bob Z's Blog regarding the Clarion.NET AppGen &lt;a href="http://clarionsharp.com/blog/"&gt;.NET Application Generator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks like Clarion.NET code generation is finally becoming a reality. The syntax of that new template language is not something that most Clarion developers will recognize. Then again, Clarion.NET code is not something that Clarion developers will recognize unless they're already familiar with C#, VB# or any other .NET language.  In fact, C# code is .NET code, VB# code is .NET code and Clarion#&lt;br /&gt;code is .NET code.&lt;br /&gt;&lt;br /&gt;While &lt;i&gt;structurally&lt;/i&gt; these languages differ somewhat - one uses semi-colons to end a line, the other uses CRLFs. One uses open/close braces to mark blocks of related code, while the other uses a KEYWORD/END relationship. One uses double quotes to delimit text, the other uses single quotes and on it goes. Fundamentally, beyond the superficial structural differences, the syntax of all .NET languages, is virtually identical. In the case of Clarion#,  a few dozen legacy commands have been engineered to work like the old Win32 language and this sits on top of .NET - useful, but not entirely necessary to write powerful .NET code. In other words, legacy Clarion code is a miniscule subset of the available .NET language (used in Clarion#). Because all .NET languages are driven by the &lt;a hre="http://msdn.microsoft.com/library/aa388745.aspx"&gt;.NET Class Library&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As we said in our introduction to our first On-Line series of Clarion.NET training seminars: &lt;i&gt;"Clarion.NET is an entirely &lt;u&gt;new&lt;/u&gt; Clarion, and while previous Clarion language experience will "port" very nicely into the Clarion.NET environment, relying on past Clarion experience alone to get you by - especially if you have relied heavily on templates in the past - is going to seriously &lt;u&gt;cramp&lt;/u&gt; your overall Clarion.NET experience - kind of like trying to satisfy your household water needs from a deep, clear, freshwater pool with a drinking&lt;br /&gt;straw instead of with an electric pump and a good sized hose."&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The first  in our series of 5 Clarion.NET/C# Training Seminars was given twice yesterday (Tuesday April 13, 2010) and will be given once more on Friday April 14th, 9AM to 11AM EDT. There's still a window of opportunity to get in on this groundbreaking educational series: &lt;a href="http://www.cwhandy.ca/dotnettraining.htm"&gt;On-Line Clarion.NET Training Seminar&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;Hope to see you there.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces&lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:gcreces@gmail.com"&gt;gcreces@gmail.com&lt;/a&gt;&lt;br /&gt;  April 14, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1306398641895589437?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1306398641895589437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1306398641895589437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1306398641895589437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1306398641895589437'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/04/in-case-you-havent-read-this-yet-check.html' title=''/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5377625072722019986</id><published>2010-04-01T13:06:00.007-04:00</published><updated>2010-04-01T13:13:19.631-04:00</updated><title type='text'>For "Newbies" Getting Into CHT</title><content type='html'>To get "into" CHT, a good place to start is with the videos and the demo apps. There are about 130 demo apps which are briefly described by topic in this document: &lt;a href="http://www.cwhandy.com/chtapplications.html"&gt;http://www.cwhandy.com/chtapplications.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A good video to watch in order to get an overview of the CHT toolkit was recorded with Clarion Live! this past November, 2009. This video is linked from our &lt;a href="http://www.cwhandy.com"&gt;home page&lt;/a&gt; under the menu item "Free Videos". The video menu item is entitled: &lt;u&gt;CHT On Clarion Live! - &gt; Clarion Live! Seminar #31 - Nov 2009&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;There are also 35 other videos available from the "Free Videos" link on our home page. We suggest you leave these other videos until you begin studying the demo apps to which they're related.&lt;br /&gt;&lt;br /&gt;We suggest you start by watching the Clarion Live! 3-hour video before anything else, and follow that up by studying the demo applications. Use our &lt;a href="http://www.cwhandy.com/chtapplications.html"&gt;demo applications document&lt;/a&gt; to find demo apps that match the topics you're most interested in following up on first. The apps list is broken into categories of functionality.&lt;br /&gt;&lt;br /&gt;Next, become familiar with the global &lt;u&gt;AACHTControlPanel Template&lt;/u&gt; populated into all of these CHT demos to get the demo app to list for you all the templates it's using. Each template listed will then further link you into our template description document. How to do this is illustrated in the Clarion Live! video. From here, you can also get the application to tell you all Classes it is using and that generated document further links into an HTML representation of our class headers.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;AACHTControlPanel&lt;/u&gt;, and all CHT templates for that matter, have a "Subscriber Support" dialog that links directly - and automatically - into our support forum where you can ask a question when you feel you need to. Here, I or one of our long-term users, will be happy to help you by answering questions.  The forum has a print-to-PDF function with which you can print out a particular posting or a whole thread of postings if you need a hard copy for future reference. The CHT forum has been running since April 1st 2004 (in fact today, April 1, 2010, is its 6th anniversary) using CHT web technology and our data base contains over 50,000 entries threaded by subject - &lt;i&gt;or by question asked as the case may be&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Shipped with CHT are the last 3 years of &lt;u&gt;What's New Documents&lt;/u&gt; in PDF format. These are in located in \clarion6\3rdparty\hnd\pdf\ or \clarion7\accessory\hnd\pdf\.  They're also linked from START Button -&gt; All Programs -&gt; "The Clarion Handy Tools" or "The Clarion Handy Tools C7" as the case may be.&lt;br /&gt;&lt;br /&gt;Demo applications are located in \clarion6\hndapps\ (C6) and in a directory designated by you at install time in Clarion 7.&lt;br /&gt;&lt;br /&gt;Starting in late May or early June, after our series of &lt;a href="http://www.cwhandy.ca/dotnettraining.htm"&gt;five Clarion.NET on-line seminars&lt;/a&gt; we will begin providing CHT subscribers with a Clarion.NET installer and an early version of CHT for Clarion.NET and some demo apps.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:usersupport@cwhandy.com"&gt;usersupport@cwhandy.com&lt;/a&gt;&lt;br /&gt;  April 1, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5377625072722019986?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5377625072722019986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5377625072722019986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5377625072722019986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5377625072722019986'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/04/for-newbies-getting-into-cht.html' title='For &quot;Newbies&quot; Getting Into CHT'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8482695287086179636</id><published>2010-04-01T12:12:00.003-04:00</published><updated>2010-04-01T12:18:06.554-04:00</updated><title type='text'>Target 100: Discount Offer</title><content type='html'>It's been three years (November 2007) since CHT conducted any kind of reduced-price subscriber drive. In our 2007 campaign, we offered a "Target 100" discount of 40%. In other words, the first 100 individuals to take advantage of the discount received the discounted price. Actually, no-one who asked for the discount via our "Target 100" order page was refused, even when we went slightly over target. &lt;br /&gt;&lt;br /&gt;Obviously, that campaign was very successful and many of the 100+ developers who took advantage of it are still CHT developers to this day.&lt;br /&gt;&lt;br /&gt;Starting immediately, we're offering a similar "Target 100" offer at an even larger discount of 50%. Our 2010 "Target 100" order page (link below) will stay up as long as we're under 100 new subscribers who purchase through this special page. At the end of the day on which our "Target 100" objective is reached (or exceeded) we'll take the page down. That means, as long as you are able to reach the "Target 100" page, you're able to purchase at the discounted price. &lt;br /&gt;&lt;br /&gt;Click the following link to get your half-price CHT subscription before it's too late to get this amazing discount: &lt;a href="http://www.cwhandy.com/target100.htm"&gt;http://www.cwhandy.com/target100.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The list of links below should explain fairly clearly the kind of advances you'll miss by not becoming a regular Clarion Handy Tools user.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/march2010.htm"&gt;http://www.cwhandy.com/march2010.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/february2010.htm"&gt;http://www.cwhandy.com/february2010.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/january2010.htm"&gt;http://www.cwhandy.com/january2010.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/december2009.htm"&gt;http://www.cwhandy.com/december2009.htm&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/november2009.htm"&gt;http://www.cwhandy.com/november2009.htm&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/october2009.htm"&gt;http://www.cwhandy.com/october2009.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/september2009.htm"&gt;http://www.cwhandy.com/september2009.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/august2009.htm"&gt;http://www.cwhandy.com/august2009.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/august2009.htm"&gt;http://www.cwhandy.com/august2009.htm&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.cwhandy.com/july2009.htm"&gt;http://www.cwhandy.com/july2009.htm&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.cwhandy.com/june2009.htm"&gt;http://www.cwhandy.com/june2009.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.com/may2009.htm"&gt;http://www.cwhandy.com/may2009.htm&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.cwhandy.com/april2009.htm"&gt;http://www.cwhandy.com/april2009.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Templates overview as of this build: &lt;a href="http://www.cwhandy.com/chttemplates.html"&gt;http://www.cwhandy.com/chttemplates.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The CHT toolkit has been growing at a rate of 25% per year. You can get some feeling for how much new stuff is added yearly by studying the the following summary of new/revised-in-2009 templates from just 2009 alone: &lt;a href="http://www.cwhandy.com/chttemplates2009.html"&gt;http://www.cwhandy.com/chttemplates2009.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Demonstration applications overview as of the current build: &lt;a href="http://www.cwhandy.com/chtapplications.html"&gt;http://www.cwhandy.com/chtapplications.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;More about The Clarion Handy Tools: &lt;a href="http://www.cwhandy.com/presentcomponents.htm"&gt;http://www.cwhandy.com/presentcomponents.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TEN REASONS FOR USING THE CLARION HANDY TOOLS&lt;br /&gt;01) Used in over 25 Countries...&lt;br /&gt;02) 398 + Templates and JumpStarts and over 11,000+ Class Methods...&lt;br /&gt;03) CHT Support Forum averages 30 unique visitors every day of the year...&lt;br /&gt;04) First with a subscription-based 3rd party Clarion toolkit...&lt;br /&gt;05) First with an all-source code 3rd party Clarion toolkit...&lt;br /&gt;06) First with an all-inclusive, fully-integrated, one-price-for-everything Clarion toolkit...&lt;br /&gt;07) First with a wide variety of on-line, hands-on courses to help you improve your CHT developer experience...&lt;br /&gt;08) First with source code all-Clarion internet servers for Browser Web apps and Client Web apps...&lt;br /&gt;09) First with a commitment to document our entire library of classes and templates with video lessons...&lt;br /&gt;10) First with a commitment to help developers make the migration to Clarion 7 and/or Clarion .NET...&lt;br /&gt;&lt;br /&gt;Click this link to get your half-price CHT subscription before it's too late to get this discount: &lt;a href="http://www.cwhandy.com/target100.htm"&gt;http://www.cwhandy.com/target100.htm&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces   &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:usersupport@cwhandy.com"&gt;usersupport@cwhandy.com&lt;/a&gt;&lt;br /&gt;  April 1, 2010&lt;br /&gt;&lt;hr/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8482695287086179636?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8482695287086179636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8482695287086179636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8482695287086179636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8482695287086179636'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/04/target-100-discount-offer.html' title='Target 100: Discount Offer'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8814211040062734766</id><published>2010-02-22T21:47:00.002-05:00</published><updated>2010-02-22T21:47:23.867-05:00</updated><title type='text'>Small CHT (for C7) Update Posted Today</title><content type='html'>Discoveries made over the weekend have motivated me to do a small, not-renumbered, update this afternoon.&lt;br /&gt;&lt;br /&gt;Earlier in the weekend I posted a problem with ABPROGRM.TPW one of SV's base application templates which due to the use of &lt;br /&gt;#OPEN('PROG02.$$$') instead of #CREATE('PROG02.$$$') causes corruption of generated .CLWs under stress circumstances and particularly on XP machines. The problem caused by this bug is actually worse than I'd imagined - especially on XP machines. &lt;br /&gt;&lt;br /&gt;The gist of the above bug is that #OPEN is used to create a fresh temp file instead of #CREATE. Thus, whenever PROG02.$$$ from a previous app is not erased - say by a template error, C7 then generates information from the current app into a temp file file created by a previous application or module. I've seen this numerous times, especially when compiling apps using CLARIONCL.EXE the DOS-prompt utility for generating applications.&lt;br /&gt;&lt;br /&gt;I discovered yesterday, when perusing the SV newsgroups that C7 has a bug with the REMOVE command. In C7 (particularly in the context of XP) this command produces an errorcode 5, even though the file was successfully removed. Since the C7 template generator uses the C7 runtime library, I tested #REMOVE, the template version of REMOVE. It has the same problem. &lt;br /&gt;&lt;br /&gt;So combining the #REMOVE bug with the #OPEN/#CREATE bug, you can see that the incidence of corrupt .CLW file generation is quite high - in the context of XP in particular. &lt;br /&gt;&lt;br /&gt;The remove bug also explains why a utility called HNDABCHKC7.EXE was not correctly fixing the ABUTIL.INC file and changing the prototypes the way that it should have been. C7 users had to run WEBUPDATER C7 to have this change take place because C7 Webupdater is actually compiled in C6.  The HNDABCHKC7.EXE utility is compiled in C7 and is executed from the C7 templates such that should you load C7 with any app containing CHT templates, the utility runs and make the ABUTIL.INC change for you without you having to do anything. Our C6 templates have done this for a number of years. The problem was C7 REMOVE is broken. &lt;br /&gt;&lt;br /&gt;So, I've reposted our C7 build with a workaround to account for this C7 REMOVE bug, both in the CHT classes and in our templates. Further, I've reposted a new version of HNDABCHKC7.EXE compiled with this workaround.&lt;br /&gt;&lt;br /&gt;I've also spent some time reworking HNDCOMPILE.EXE and have re-recorded the accompanying video to provide more concrete examples showing queries. &lt;br /&gt;&lt;br /&gt;That new HNDCOMPILE.EXE video is here: &lt;a href="http://www.cwhandy.com/hndcompile.swf"&gt;HNDCOMPILE VIDEO&lt;/a&gt;. This is a 3.5 MB video so give it some time to download. &lt;br /&gt;&lt;br /&gt;When you run your Webupdater C7, the changes discussed above will come down to you in the usual manner. &lt;br /&gt;&lt;br /&gt;Oh, one other thing. Our HNDABCHKC7.EXE utility, looks for and automatically corrects this #OPEN/#CREATE bug reported above when you open any app that contains a CHT template. Of course the utility only does this if the correction is required. HNDCOMPILE.EXE also checks and makes the correction should it be needed, when you run HNDCOMPILE.EXE as illustrated in the VIDEO. Down the line, when SV makes a permanent correction, I'll remove these double checks. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's all for now. Have Fun. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;CHT&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8814211040062734766?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8814211040062734766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8814211040062734766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8814211040062734766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8814211040062734766'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/02/small-cht-for-c7-update-posted-today.html' title='Small CHT (for C7) Update Posted Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6733956236320171296</id><published>2010-02-18T17:02:00.003-05:00</published><updated>2010-02-18T17:03:23.955-05:00</updated><title type='text'>New CHT Build 14A1.01 Posted</title><content type='html'>We've just finished testing and posting CHT Build 14A1.01 in both C6.x and C7.x versions. &lt;br /&gt;&lt;br /&gt;This version removes all dependency on HND*.LIB files with the exception of HNDSPELL.LIB and HNDML.LIB. These two remaining .LIBs are based on CHT DLLs which are exclusive to CHT. All other HND*.LIBs which may have potentially included WINAPI functions located in MS Windows DLLs, used by Clarion or other 3rd parties, will be removed from your CHT installation by our installer because they are no longer necessary. The WINAPI functions in various CHT classes that once depended on these .LIBs are now accessed by dynamically loading the Windows DLL in which the function(s) are located. &lt;br /&gt;&lt;br /&gt;This avoids entirely the possiblity of a "Duplicate Function Declaration" error (or similar) produced by the Clarion compiler. &lt;br /&gt;&lt;br /&gt;You do not need to change anything in your CHT based apps to incorporate this change. &lt;br /&gt;&lt;br /&gt;Other changes in Build 14A1.01... &lt;br /&gt;New Demo APP called: HNDZIPBACKUPTOGMAIL.APP an app that lets you zip some files and send them to your gmail account as a backup mechanism. &lt;br /&gt;&lt;br /&gt;Significantly Changed Demo APP: HNDGMAILEXPLORER.APP this app now lets you enter your own GMAIL account and visit your gmail account with a single click. There's also a backup to GMAIL capability in this application. &lt;br /&gt;&lt;br /&gt;The HNDERROR class which is derived by all CHT classes - and are hence available for error trapping and logging - now has a direct capability to write to the windows error log. You'll remember that in previous CHT versions, you needed to add the HandyCOMEventLogger template to your procedure. While this template and its accompanying DLL-based functionality is still available, you no longer need this in order to log errors to the Windows Error Log. The functions involved are described in HNDERROR.INC and look as follows:&lt;br /&gt;!Windows event log direct from this error class.&lt;br /&gt;PostWindowsEventLog PROCEDURE (STRING xDescription, LONG xType=HND_INFORMATION_MESSAGE, LONG xCategory=0),BYTE,PROC,VIRTUAL&lt;br /&gt;&lt;br /&gt;GetLastEventLogged PROCEDURE (),STRING,VIRTUAL&lt;br /&gt;&lt;br /&gt;LogErrorEvent PROCEDURE ( STRING xsMessage ),BYTE,PROC,VIRTUAL&lt;br /&gt;&lt;br /&gt;LogInfoEvent PROCEDURE ( STRING xsMessage ),BYTE,PROC,VIRTUAL&lt;br /&gt;&lt;br /&gt;LogWarningEvent PROCEDURE ( STRING xsMessage ),BYTE,PROC,VIRTUAL&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;gcreces@gmail.com&lt;br /&gt;February 18, 2010&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6733956236320171296?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6733956236320171296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6733956236320171296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6733956236320171296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6733956236320171296'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2010/02/new-cht-build-14a101-posted.html' title='New CHT Build 14A1.01 Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7539622485414551157</id><published>2009-12-31T13:33:00.006-05:00</published><updated>2009-12-31T13:39:27.477-05:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;Happy New Year to CHT Subscribers in 25 Countries!&lt;/h2&gt;&lt;br /&gt;&lt;h2&gt;We've just finished posting Build 14A.00 in time for the new year!&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;And 2010 is CHT's 14th year. We're kind of glad to have year 13 behind us. ;-)&lt;br /&gt;&lt;br /&gt;Looking back at the document &lt;a href="http://www.cwhandy.ca/chttemplates2009.htm"l&gt;CHT Templates New/Revised In 2009&lt;/a&gt; I see that some 60+ templates were either added or revised in 2009. Considering that most of these templates also use&lt;br /&gt;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&lt;br /&gt;for C7.1 - and your CHT tool guy has been a busy boy. ;-)&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;HNDUtil.GetWindowsSerialNumber    PROCEDURE ()&lt;br /&gt;HNDUtil.GetHardwareDriveDeviceID  PROCEDURE (LONG xDrv=0)&lt;br /&gt;HNDUtil.GetHardwareDriveSerial    PROCEDURE (LONG xDrv=0)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Here's how to use this: &lt;br /&gt;1) Shell to the DOS prompt &lt;br /&gt;2) Change directory to where your apps are located and from there type as follows: use your own c7 path).&lt;br /&gt;3) c:/c7/accessory/hnd/HNDCMP.EXE HNDNET*.SLN if you only want to batch compile apps matching that wild card. &lt;br /&gt;4) You can have the created EXEs compressed by adding a 1 after this as follows:&lt;br /&gt;c:/c7/accessory/hnd/HNDCMP.EXE HNDNET*.SLN 1 &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Any questions, or suggestions, feel free to post them here. &lt;br /&gt;&lt;br /&gt;Best of the NEW YEAR to all of you!&lt;br /&gt;&lt;br /&gt;Cheers... &lt;br /&gt;Gus M. Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7539622485414551157?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7539622485414551157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7539622485414551157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7539622485414551157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7539622485414551157'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/12/happy-new-year-to-cht-subscribers-in-25.html' title=''/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7291911322821251611</id><published>2009-08-25T17:01:00.002-04:00</published><updated>2009-08-25T17:04:24.580-04:00</updated><title type='text'>Small Upated Posted to Build 13C1.00</title><content type='html'>We've just posted a small update now available via Webupdater (C6) and Webupdater (C7).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FIRST...&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The new Tape calculator now has a new function:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;PassCalcTapeText            PROCEDURE  (STRING xTapeText),VIRTUAL&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;You can embed into this function inside your app to pick up the string that contains the current display tape value. This function is called anytime the EQUAL key on the calculator is pressed. This function works equally well with a threaded or unthreaded calculator. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;SECOND...&lt;/b&gt;&lt;br /&gt;There was a problem with the calculator maintaining focus when implemented as a Threaded calculator any time the EQUAL key was pressed. This has now been solved so that you can use the calculator entirely from the keyboard (without the mouse) and even after the EQUAL key is pressed, focus on the calculator is maintained. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;THIRD...&lt;/b&gt;&lt;br /&gt;Both Calculator templates (HandyCalcTapeEntryControl_ECF,  HandyCalcEntryControl_ECF) now pass the picture that you place on the template-provided entry control  to the calendar. Rather than using ROUND() internally, the HNDCALCCONTROL class now performs a FORMAT() of the calculator register data when you click the RD key.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;FOURTH...&lt;/b&gt;&lt;br /&gt;I revised the HNDDISK function called DRIVESPACE.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;HNDDisk.DriveSpace                            PROCEDURE (STRING xRootPath, *STRING xFreeBytes, *STRING xTotalBytes)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This should now return the xTotalBytes value correctly for Terrabyte sized drives. The function was and always has worked correctly for drives smaller than one Terrabyte. The data width has now been increased from 40 bits to 64 bits so that we can pick up the size of these drives correctly. One caviat with this function. With terrabyte drives, the function will return smaller sizes if the user asking for drives sizes has been assigned a disk quota. A disk quota determines how much data any user is allowed to place on the drive, so it stands to reason that this is seen as the largest disk size available to the user, hence that is the disk size. Without a disk quota, the true size of the drive is available even with the over 1 terrabyte drives. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;FIFTH...&lt;/b&gt;&lt;br /&gt;Someone asked last week if the HNDLRNSV.APP was available for C7. It wasn't at that time but we've included it in this update.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SIXTH...&lt;/b&gt;&lt;br /&gt;The HNDZIPNEMAIL.APP provided with with C6 and C7 is now the same as the one I posted on the SV forum this past weekend. This later version (V 7.5) allows for multiple configurations that can be recalled with the click of a button.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;SEVENTH...&lt;/b&gt;&lt;br /&gt;HNDDATES has been changed to reflect a higher Maximum Clarion date value which was introduced a couple of years back, with C6 I believe it was. The enforced Clarion Standard Date range is now January 1, 1801 through December 31, 9999.&lt;br /&gt;&lt;br /&gt;That's all for now. You can pick up these changes any time with your WEBUPDATERs. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page &lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7291911322821251611?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7291911322821251611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7291911322821251611' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7291911322821251611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7291911322821251611'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/small-upated-posted-to-build-13c100.html' title='Small Upated Posted to Build 13C1.00'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1456684732628754329</id><published>2009-08-21T12:23:00.001-04:00</published><updated>2009-08-21T12:24:43.740-04:00</updated><title type='text'>Automatically Compress Your EXE's When Compiling</title><content type='html'>A global template we haven't yet told you about called, &lt;b&gt;HandyExecutableCompressor&lt;/b&gt; can be attached to your application as a child of our master global template AACHTControlPanel.&lt;br /&gt;&lt;br /&gt;When enabled, this template generates and executes (after compile has completed) a batch file which invokes a shareware executable compressor now included with CHT.  Your executable file (.EXE) is compressed by 2/3 without affecting it's performance.&lt;br /&gt;&lt;br /&gt;This has some obvious benefits, especially for security in making your .EXEs more secure against hackers looking for embedded strings such as passwords. If you're providing direct-downloadable executables it saves you having to first ZIP the exe while still reducing web-transport overhead by 2/3.&lt;br /&gt;&lt;br /&gt;Click this link to view a short video that illustrates the compressor in action:&lt;br /&gt;&lt;a href="http://www.cwhandy.com/hndcompressor.htm"&gt;HandyExecutableCompressor Video&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces   &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 21, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1456684732628754329?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1456684732628754329/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1456684732628754329' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1456684732628754329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1456684732628754329'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/automatically-compress-your-exes-when.html' title='Automatically Compress Your EXE&apos;s When Compiling'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2379499909324569779</id><published>2009-08-19T09:41:00.002-04:00</published><updated>2009-08-19T09:46:00.389-04:00</updated><title type='text'>Webupdater (C7) Change Posted</title><content type='html'>We've just posted a change to the C7 Webupdater to provide a set of menus under HELP along the lines agreed upon by 3rd party developers. We've used the naming convention suggested by Lee White which I gather is now the default for how these menus should integrate into the C7 IDE.&lt;br /&gt;That is Help -&gt; Accessory -&gt; Clarion Handy Tools -&gt; Various menus and sub-menus.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/chtc7helpsmall.gif" alt="chtc7help.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;At the same time, we're having the installer remove all but one of our support applications from the Tools menu, leaving only the CHT backup tool under the IDE's TOOLS menu. All others have been moved under HELP as they were primarily help related.&lt;br /&gt;&lt;br /&gt;We've also added a new submenu to the CHT section of help called "CHT Videos Direct". This is a section of short instructional videos (.SWF) that you can run as needed directly from the C7 interface. Specific videos will not stay here indefinitely as we plan to use this area to introduce new features, or to draw attention to under-utilized features in an effort to make you familiar with their use. Videos retired from here will make their way to one or the other of our video player apps, or perhaps both.&lt;br /&gt;&lt;br /&gt;Since we don't use any other 3rd party tools at CHT, we're not able to see how this "Accessory" menu integrates with what other 3rd parties have done or may be doing. We have endeavored to follow the conventions agreed upon for integration with C7. Feel free to post suggestions (perhaps with screen snaps) if you have something constructive to add to this. Changing the menu layouts is no big deal if necessary for better overall integration.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces  &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 18, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2379499909324569779?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2379499909324569779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2379499909324569779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2379499909324569779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2379499909324569779'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/webupdater-c7-change-posted.html' title='Webupdater (C7) Change Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4688728893921313275</id><published>2009-08-18T12:01:00.001-04:00</published><updated>2009-08-18T12:02:24.470-04:00</updated><title type='text'>CHT Build 13C1.00 For Clarion 7 Now Available</title><content type='html'>We've just posted the Clarion 7 version of our new 13C1.00 Build. This includes the full feature set already released to Clarion 6 last week. We're now also shipping with Clarion 7, approximately 100 of the 130 demo applications available to Clarion 6, more are being converted and tested each week. Our intention is to have the full suite of demo apps available to C7 as soon as practical.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces   &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4688728893921313275?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4688728893921313275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4688728893921313275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4688728893921313275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4688728893921313275'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/cht-build-13c100-for-clarion-7-now.html' title='CHT Build 13C1.00 For Clarion 7 Now Available'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5916810583846419891</id><published>2009-08-14T18:28:00.004-04:00</published><updated>2009-08-14T18:31:50.743-04:00</updated><title type='text'>CHT Build 13C1.00 New Features Review Part 7</title><content type='html'>&lt;h2&gt;New Template, EmbedFileNotifyFunctions&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/embedfilenotifyfunctions.gif" alt="embedfilenotifyfunctions.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;The purpose of this template is to make available in the procedure to which it is attached, a new class called HNDFileNotify. This is a very small, but powerful class which gives your procedure the ability to notify your application via EVENT:FileChanged whenever a new file is added to a nominated directory or a file in the nominated directory is changed in any way.&lt;br /&gt;&lt;br /&gt;There are hundreds of uses for this small but powerful feature, from backup applications to autoupload and cross-posting capability. I've provided a small application to illustrate one use.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Example Application Using EmbedFileNotifyFunctions&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;This application illustrates a new CHT template called EmbedFileNotifyFunctions and a new class called HNDFileNotify(HNDFILENOTIFY.INC/HNDFILENOTIFY.CLW).&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/monitorapp.gif" alt="monitorapp.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;The class attached to your procedure by this template, once initialized gives your procedure the ability to detect all changes occuring in a nominated directory. Whenever a new file is added to this directory, or a file is changed, your procedure is sent an event called EVENT:FileChanged to signal that this has occurred. At that point, what you do as a programmer to act on that event is wide open.&lt;br /&gt;&lt;br /&gt;This application illustrates one use of this new, directory monitoring capability. When a file is added to the designated source directory, that file is copied into a temporary, processing directory, from where it is compressed and encrypted into a CHT .HZO transport container.&lt;br /&gt;&lt;br /&gt;The file or files meeting the filter setting provided on the application interface, eventually then, end up compressed into this .HZO container. There is also an optional switch to remove the processed source file(s) from the directory being&lt;br /&gt;monitored.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 14, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5916810583846419891?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5916810583846419891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5916810583846419891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5916810583846419891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5916810583846419891'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/cht-build-13c100-new-features-review_14.html' title='CHT Build 13C1.00 New Features Review Part 7'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4812783739049048271</id><published>2009-08-08T12:59:00.002-04:00</published><updated>2009-08-08T13:01:41.994-04:00</updated><title type='text'>New Template, HandyFieldAutoCompleteControl</title><content type='html'>The Clarion Handy Tools Template called &lt;i&gt;HandyFieldAutoCompleteControl&lt;/i&gt; is a control template that autocompletes a form field from values already available in another file. &lt;br /&gt;&lt;br /&gt;In the example provided - &lt;b&gt;HNDDROPDOWN.APP&lt;/b&gt; - we're autocompleting a "State Name" field from a file called hndstatesnew.tps. By simply typing 3 or 4 letters into this field a dropdown appears which displays the closest matches for the typed value. By continuing to type beyond 4 characters a matching value is brought into the autocomplete control. &lt;br /&gt;&lt;br /&gt;Alternatively, with the down arrow key, users can scroll down into the dropdown control to select one of the values that appears there. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Adding to the autocomplete file:&lt;/b&gt; If you type a unique value and press CtrlEnter, the entered value is added to the autocomplete source file.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Deleting from the autocomplete file:&lt;/b&gt; If you bring an existing value from the autocomplete file into the autocomplete entry control and press CtrlDelete you are able to delete a value from the autocomplete source file. &lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/images/autocomplete.gif" alt="autocomplete.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;To watch a short video of the &lt;i&gt;HandyFieldAutoCompleteControl Template&lt;/i&gt; in action, click here &lt;a href="http://www.cwhandy.com/autocompletedemo.htm"&gt;HandyFieldAutoCompleteControl Template Demo&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4812783739049048271?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4812783739049048271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4812783739049048271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4812783739049048271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4812783739049048271'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/new-template-handyfieldautocompletecont.html' title='New Template, HandyFieldAutoCompleteControl'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4419261438067629205</id><published>2009-08-06T13:04:00.002-04:00</published><updated>2009-08-06T13:06:55.876-04:00</updated><title type='text'>Build 13C1.00 New Features Review Part 5</title><content type='html'>I had a user request to provide a "display-tape" facility to CHT's calculator with the opportunity to print the tape output. &lt;br /&gt;I did that and had it working quite some time ago, with the intent to release with Build 13C1.00. In the meantime I was scanning, one day, through some Xara Graphics and spotted a calculator layout that I really liked. &lt;br /&gt;&lt;br /&gt;As a result of finding that graphic, I've re-written the "display-tape" calculator - procedure HandyCalcTape() in HNDCALC.INC/.CLW. The outcome is the calculator below. This is a separate procedure entirely from procedure HandyCalc() which you have now. &lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/calc.gif" alt="calc.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Since this calculator is built around a graphic, those of you who provide applications for non-English users, will need to contact me with a list of symbols that you want to replace the English based symbols currently displaying on the interface. I'll whip up a separate graphic based on your non-English symbol list and include it with the toolkit in the /images/ directory. Inserting that graphic is easily enough to do by setting a property in the class or on our template.&lt;br /&gt;&lt;br /&gt;To see the calculator in action click this link: &lt;a href="http://www.cwhandy.com/tape.htm"&gt;CHT HandyCalcTape&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4419261438067629205?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4419261438067629205/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4419261438067629205' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4419261438067629205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4419261438067629205'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/build-13c100-new-features-review-part-5.html' title='Build 13C1.00 New Features Review Part 5'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6804036643073527246</id><published>2009-08-04T16:51:00.009-04:00</published><updated>2009-08-04T17:23:13.119-04:00</updated><title type='text'>CHT Build 13C1.00 New Features Review</title><content type='html'>&lt;h2&gt;ClientServerBrowseListBox Template&lt;/h2&gt;&lt;br /&gt;The previous three &lt;i&gt;CHT Build 13C1.00 New Features Review&lt;/i&gt; parts dealt primarily with server side template changes with brief references to the Client side where server changes impact the client application. A new feature on the ClientServerBrowseListBox template described in this Part 4 posting, affects only the client. To find the feature, open the ClientServerBrowseListBox template dialog as in the image below.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_09_007.gif" alt="aug_09_007.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The fields listed in this dialog may be manually entered, but usually they are simply imported from work already completed on the matching VIEW created in your server by the HandyJDODataAdapter + ClientServerDataBuilder template combination. If you need a checkbox in your list box to display a boolean on/off condition a new control on the ClientServerBrowseListBox template's "Hot Fields" dialog (see image below) lets you implement a checkbox icon without coding on your Client Server Listbox browse.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_09_008.gif" alt="aug_09_008.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Check the "Display Checkbox" switch on this "Hot Fields" dialog and you're done - however, don't forget to set the icons switch for the matching column in your listbox design.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;ClientServerBrowseListBox_XCL Template&lt;/h2&gt;&lt;br /&gt;&lt;h3&gt;Client-Side Cancelled-Insert Deletion&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;In my &lt;i&gt;CHT Build 13C1.00 New Features Review Part 3&lt;/i&gt; posting, I discussed deleting cancelled-insert records either from the server side with "Garbage Collection" or from from the client side. In the image displayed below, on the "Form Procedure" dialog of the &lt;i&gt;ClientServerBrowseListBox_XCL&lt;/i&gt; template, there is an optional (OPT) configuration which when completed is used to signal to the template that it should handle cancelled inserts by deleting the record inserted and then cancelled. Insert the SysID of your table record here to trigger client-side cancelled-insert deletion. Or leave the field blank if you plan to implement server-side "Garbage Collection" for this view (see image below).&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Insert Mode Cross-Priming Prefetches&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;When a newly inserted record needs to be cross-primed from another record in the same table or in a different table, your client needs to signal that to the server in&lt;br /&gt;the form of a "FetchFilter" passed to the server. The server then uses this filter to fetch the matching record from the correct table and keep it in the data buffer(or in a history buffer) before a new table record is inserted. Please re-read my &lt;i&gt;CHT Build 13C1.00 New Features Review Part 3&lt;/i&gt; posting if you don't know how to&lt;br /&gt;handle this situation on the server application. To configure the client form for server-side cross-priming and pre-fetching, complete the SYSID of an existing record available to your form's browse and in the update form record buffer. The existing record can be in the same table or in another, joined table as the case may be (see image below).&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_006.gif" alt="aug_10_006.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;The generated code resulting from the cross-priming configuration discussed above is in the next image. &lt;br /&gt;&lt;p/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_09_011.gif" alt="aug_09_011.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;In an unprimed "RequestInsert()" the "Prefetch" filter component is left blank. In the above example, because the template cross-prime field has been completed, the "RequestInsert()" call includes a prefetch filter.&lt;br /&gt;&lt;br /&gt;That completes &lt;i&gt;Build 13C1.00 New Features Review Part 4&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 4, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6804036643073527246?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6804036643073527246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6804036643073527246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6804036643073527246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6804036643073527246'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/cht-build-13c100-new-features-review_7800.html' title='CHT Build 13C1.00 New Features Review'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4116035078290687479</id><published>2009-08-04T14:26:00.004-04:00</published><updated>2009-08-04T14:38:09.948-04:00</updated><title type='text'>CHT Build 13C1.00 New Features Review</title><content type='html'>&lt;h2&gt;Background - HandyJDOAdapter Template&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;The HandyJDODataAdapter template is an existing CHT procedure template used to create CHT Client Server data packaging procedures. It creates procedures that hook into a CHT server application by attaching to the main server via a server VIEW created there with a server-plug-in template called ClientServerQueryBrancher_BIC. All remote web-client queries directed at a particular VIEW name are routed by the server through a HandyJDODataAdatpter procedure attached to a matching VIEW name. A server may have numerous versions of this data packaging procedure- as many as the data requirements of your application dictate - each servicing a different back end data view consisting of one or more data tables. So asking, "How many HandyJDODataAdapter procedures does my server require?", is a lot like asking, "How many browses does my application require?" Depends. It's basically up to you to decide.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Extra Generation Control Features HandyJDOAdaper Template&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;A new dialog called "Generate" has been added to the HandyJDODataAdapter template (see image below). It's purpose is to give you more control over the existing code-generation features of this template and to add some new features particularly useful with SQL back ends - situations where your server is serving data to a web client application from an SQL data base without directly exposing the data base to the web.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_07_001.gif" alt="aug_07_001.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;The "Generate" dialog has been added as indicated above, just below the existing "Files" dialog. See the next image for the details of the dialog itself.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_09_002.gif" alt="aug_09_002.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;No Generate SetUpdateRecord() Pre-fetch Code&lt;/h5&gt;&lt;br /&gt;Inside all HandyJDOAdapter procedures is an OOP method called &lt;b&gt;SetUpdateRecord()&lt;/b&gt;. This method is used to fetch a record - or a set of records described in a Clarion View - before updating or deleting. Your client will send an unambiguous filter that describes exactly one recordset during an update or delete operation. This filter is usually something as simple as &lt;i&gt;CUS:SysID = 1234&lt;/i&gt;. The fetching operation is called a "Pre-Fetch" because the fetch is accomplished - &lt;i&gt;and required&lt;/i&gt; - before the actual update or delete operation can take place.&lt;br /&gt;&lt;br /&gt;There are also times when a "Pre-Fetch" using SetUpdateRecord() is required even in an "INSERT" operation. Inserting a child record to an invoice header,for instance, may require you to pre-fetch the header record so that the ID of the header can be primed into the child record's join field. Or you may want the child record to contain data from a related record as, for example, the CHT Support Forum does, where a copy of your original posting is inserted into your REPLY.&lt;br /&gt;&lt;br /&gt;Suffice to say, that how and when your pre-fetch is performed can depend significantly on your data design. This first dialog "No Generate SetUpdateRecord() Pre-fetch Code" stops generation of default pre-fetch code so as to allow you to insert case-specific code of your own design.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Generate SQL-Style Primary Table Fetch &lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;When you check, and set ON the "No Generate SetUpdateRecord Pre-fetch Code" switch mentioned above, the second switch, "Generate SQL-Style Primary Table Fetch" becomes enabled. This generates a simple fetch on the Primary Table in your procedure's data view based on the "FetchFilter" being passed up from your client. With this switch set, you don't need to write the SQL-style fetch code yourself, if what's generated applies to your design. The code generated looks as follows and, as already stated, applies only to the Primary table in your view.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_001.gif" alt="aug_10_001.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;By juggling your view layout, you can often achieve the end result you want in order to pre-fetch the data record you want without writing any code. However, you must decide whether the code created by the template is what you want or need. If not, leave "Generate SQL-Style Primary Table Fetch" unchecked and write more complex pre-fetch code that better fulfills your design.  These switches give you the option of doing that.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;No Generate TakeWebUpdateRecord() HTTPInsert Code&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Also inside your HandyJDOAdapter procedure is an OOP method called &lt;b&gt;TakeWebUpdateRecord()&lt;/b&gt;. This method is used to actually perform record INSERT, UPDATE and DELETE operations at the command of your web client. This specific switch lets you turn OFF code generation of the INSERT code normally produced by our template. That provides you with the opportunity to craft your own insert code based on specific requirements that our template has not forseen or generic insert code just won't handle. The image below, illustrates some hand-embedded code in a server I recently created. The main bit of knowledge you need to have that is CHT server specific is the return value after a successful insert.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_002.gif" alt="aug_10_002.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;There are three requirements after a successful insert. These are: &lt;i&gt;1) Call xServer.SetCurrentQuery()&lt;/i&gt; with the filter statement that your CHT server will use to refetch this new record just created. This is a simple, unambiguous "FetchFilter" used to recall this newly inserted record. &lt;i&gt;2) Set the procedure returnvalue to HPROP:WebCycleToEdit&lt;/i&gt;. The server uses this value to literally switch itself into update mode and return the data to your web client app now operating in update mode. In other words, the record is pre-inserted and returned to your web-client primed to the extent your insert requires and the client form procedure completes the record. &lt;i&gt;3) The procedure return error code is set to HND_MESSAGE_BRWSVR_CYCLE_EDIT &lt;/i&gt; This is really not an error code, just a signal to the main server code that it should go into edit mode using the record just inserted.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;What If The Client Cancels An Insert Operation?&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;While we're on the topic of web-client record insertion, since records are pre-inserted by the server - for obvious reasons - what happens if the web-client operator decides to cancel record insertion? There are two ways to handle this. They can be used exclusively by implementing one or the other, or they can be used together. Each server back end data packaging procedure built with HandyJDOAdapter is always populated with another template called &lt;i&gt;ClientServerDataBuilder&lt;/i&gt;.&lt;br /&gt;This template describes the tables, the view and the fields to be operated on by the procedure. It provides among other things a dialog called "Garbage Collection" (see image below). Here you can describe a background operation that purges incomplete records on a time scale determined by you. The purging operation requires a few specific fields that signal to the server that a record has been abandonded without having being completed.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_003.gif" alt="aug_10_003.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;If you don't want to avail yourself of this "Garbage Collection" facility - implemented on the server end - you can simply configure the client applicaton to delete the pre-inserted record if the user cancels out of insert mode without completing and saving the record. That's a more traditional, Clarion-like behaviour to handle housekeeping of cancelled inserts (see image below).&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_004.gif" alt="aug_10_004.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;No-Generate Query Keyword File Fetches&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;A built-in capability of all CHT Back-end data packaging procedures created with HandyJDODataAdapter is the ability to dynamically switch in or out, query keywords from the application's configuration file. For example, you might have a server that serves both English and French users who are operating browses that allow them to construct native language queries using CHT's query builder or QueryParsingFilterControl. With a signal from the client indicating French or English, your data procedure can, in real time, read and BIND the approrpriate set of Query Keywords from it's configuration file and thus be able to interpret both sets of queries from either French or English clients. The switch "No-Generate Query Keyword File Fetches" turns off this dynamic query keyword capability in favor of the query keywords that you've pre-configured on our template. Doing so generates less code - that you probably aren't using anyway - and eliminates the requirement to complete the "Server Variables File" dialog on our ClientServerDataBuilder template (see next image). In fact, this "Server Variables File" dialog becomes disabled when "No Generate Query Keyword File Fetches" is checked.&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/images/aug_10_005.gif" alt="aug_10_005.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;That concludes "Build 13C1.00 Feature Review Part 3" describing changes on the HandyJDODataAdapter template and how they impact other parts of your server/client systems. &lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces   &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 4, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4116035078290687479?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4116035078290687479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4116035078290687479' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4116035078290687479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4116035078290687479'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/cht-build-13c100-new-features-review_04.html' title='CHT Build 13C1.00 New Features Review'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4345185265032243148</id><published>2009-08-03T14:24:00.009-04:00</published><updated>2009-08-03T14:36:10.195-04:00</updated><title type='text'>CHT Build 13C1.00 New Features Review</title><content type='html'>&lt;h3&gt;Client Server Hardware Key Login&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Normally I do this the other way around, releasing the new build and then reviewing the features. This time, I'll review some of the key new features this week and then&lt;br /&gt;with any luck, I'll be finished the final touchup on Build 13C1.00 before week's end August 7th.&lt;br /&gt;&lt;br /&gt;I've had the opportunity this summer to work on a project that required the software to be locked to the hardware on which it is installed. Since this is also client-server software, requiring a login and download of stock market and money market data for display, I was able to use a standard CHT Client Server with some strategic changes to achieve a login-style data connection to an MSSQL server as well as a software-locked-to-hardware condition. These strategic changes are now reflected in Build 13C1.00 templates.&lt;br /&gt;&lt;br /&gt;This is not to say that hardware key login could not be achieved without these latest template changes. Obviously, before a template can be written that generates code, somebody has to write the code that's going to be generated first. After writing and testing and re-writing the concept, I was able to abstract the requirements considerably in order to have the template help CHT developers achieve a &lt;u&gt;Hardware Key Login&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;Normally a CHT server login requires three pieces of information. I normally use Last Name, Email Address and a Login ID. There's nothing that says you actually need to use those specific bits of information, at least not the Last Name and Email Address, these fields and keys can be juggled on the template interace to use something else which is appropriate. The Login ID, on the other hand is more rigid concept and harder to work around since it is assumed to be numeric and unique.&lt;br /&gt;&lt;br /&gt;For this login the customer wanted to use a USERNAME and PASSWORD only for the user to fill in at login time. But he wanted the software to &lt;b&gt;"lock itself to the hardware on which it was installed"&lt;/b&gt;. That means, once installed, and run on a given computer, it will not connect to the back end using any other computer even though it' s copied or installed there, and the USERNAME and PASSWORD are known. This prevents users in an office setting from buying one license of the software and sharing it amongst themselves in the office.&lt;br /&gt;&lt;br /&gt;The concept is flexible enough that if the user wants some time later to move the software to another machine, he can contact the vendor and the hardware key can be purged from the customer's data record, allowing the software to be installed successfully and locked to  a different machine.&lt;br /&gt;&lt;br /&gt;In the background the application creates a HARDWARE KEY, a unique piece of data consisting of something which is unique to the machine on which it is running. You can use a combination of things such as the hard disk serial number or the primary MAC address or you can simply have the installer generate a GUID which is written into the registry and encrypted. This HARDWARE KEY is used as the third piece of login data along with USERNAME and PASSWORD instead of a LOGINID.&lt;br /&gt;&lt;br /&gt;The first time the user logs in, the login is achieved by USERNAME and PASSWORD only because the hardware key field in the data base is blank. During the first login, that hardware key - which is passed up with each login - is written into the data base and left there. After that, subsequent logins are achieved via the hardware&lt;br /&gt;key in combination with the USER NAME and PASSWORD. The same user running the software on a different piece of hardware is not allowed to log in since the hardware key generated on that machine is different than the one now stored in the data base against his other credentials.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Hardware Key-Style Login Specifics&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;Once you decide that a hardware key-style login is what you want, a lot of the work is done for you by the templates. Your back-end tables require aslightly different combination of fields than normal, but not all that much. You need a string(100) hardware key field in place of the usual numeric login ID field. Our back-end table also contains UserName and Password fields. This is not strictly necessary, as you could use any two other fields, for example, last name and email address as long as these two fields, used in combination, provide a unique key value that results in the ability to make an unambiguous fetch on the data base.&lt;br /&gt;&lt;br /&gt;Since our example is an SQL implementation, our data table does not actually have any keys other than the standard SYSID. Our clarion dictionary, of course, declares a unqique key on the hardware key field and on the combination UserName+Password fields, but these key declarations are only there for the Clarion file drivers will generate the correct SQL SELECT. These keys are not actually required to be in the data base table declarion.&lt;br /&gt;&lt;br /&gt;Initially, let's take a look at a new button on the "File" dialog of the BrowserServerInitializationControls template, called "Implement Hardware Key-Style Login" (see image below).&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/aug_09_001.gif" alt="aug_09_001.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Notice here that the first two fields of the file dialog are completed as usual with the user or customer table name and sysID key. The third field receives the HARDWARKEY unique key and the fourth field receives the unique compound key consisting of USERNAME and PASSWORD. Again this compound key could be any two values, for example Last Name and Email Address, which in combination can be used to obtain a unique value for login. In our implementation the USERNAME and PASSWORD are completed on the client application's login interface by the user. The hardware key is code-dervided by the client application.&lt;br /&gt;&lt;br /&gt;The  &lt;b&gt;"Implement Hardware Key-Style Login"&lt;/b&gt; dialog explains these concepts again and requires only that you check the switch provided (see image below).&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/aug_09_002.gif" alt="aug_09_002.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;If your key field design matches these requirements your hardware key-style login implmentation is complete, on the server side at least. Checking the switch (above) to the ON setting causes our template to not generate the standard LastName, Email Address LoginID login and instead the code pictured below is generated into the Server.TakeLoginDetailsRequest() procedure (See image below).&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/aug_09_003.gif" alt="aug_09_003.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;I've heavily commented the generated code above so the implementation should be clear enough. The first time a user logs in with a USERNAME and PASSWORD,&lt;br /&gt;the hardware key is not yet stored. The user is warned that he must initially install to the machine on which the software will be used. Initially the generated code attempts to retrieve the user account using the hardware key. This will fail under two conditions, either the user has never logged in before,and his hardware key is not yet stored, or the user is logging in with the correct user name and password from the wrong hardware. If the hardware key exists in the file, the user name and password provided are qualified against the account on file, and if these match, the login is permitted. If the hardware key is not found, the user's account is fetched using the unique combination USERNAME and PASSWORD and the hardware key provided is stored to that account and the login is permitted.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Hardware Key-Style Login (Client-Side)&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;On the client side, to accommodate hardware key-style login, we've provided a new method called  "ThinClientHardwareKeyLogin()" (see image below).&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.com/aug_09_004.gif" alt="aug_09_004.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Inside our client application all the necessary information to perform the hardware key-style login is collected and passed in the ThinClientHardwareKeyLogin() method - before the PARENT call. This makes it easy to debug any login problems on the client application side.&lt;br /&gt;&lt;br /&gt;The following properties are completed here, only one of which is unique to this hardware key login. The properties initialized are as follows: &lt;br /&gt;The first two properties - Encryption and Compression - are determined strictly by the client. The server does not have to be told about them in advance. Since the client communicates the encryption/compression states to the server during the transaction and the server responds in kind based on the state information provided in each communication. Encryption is not static, nor is it predictable, every single communication between client and server is uniquely encrypted.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;SELF.SetUseEncryption(True) !We've turned encryption on.  &lt;br/&gt;&lt;br /&gt;SELF.SetUseCompression(True) !We've turned compression on.  &lt;br/&gt;&lt;br /&gt;SELF.RemoteUrl = CHTDataServerURL !This can be hard coded in the app or determined by app configuration.&lt;br/&gt;&lt;br /&gt;SELF.RemotePort = CHTDataServerPort !This can be hard coded in the app or determined by app configuration. &lt;br/&gt;&lt;br /&gt;SELF.LoginID = 0 !This property is not required to be set in a hardware key style login.&lt;br/&gt;&lt;br /&gt;SELF.HardwareKey = MOD:HardwareKey !This new property (STRING 100) is provided with any static hardware-unique key you decide to derive in code.&lt;br/&gt;&lt;br /&gt;SELF.LastName = UserName !This property value comes from a UserName field completed at login.&lt;br/&gt;&lt;br /&gt;SELF.EmailAddress = Password !This property value comes from a Password field completed at login.&lt;br/&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note that there are no separate HNDCLIENT properties for USERNAME and PASSWORD. We're placing this information into the SELF.LastName and SELF.EmailAddress properties.&lt;br /&gt;&lt;br /&gt;If you check in the server code, you'll see that the server is picking up the "lastname=xxx" tag from the client and passing it to the server's UserName data&lt;br /&gt;field while the "emailaddress=xxx" tag is passed to the server's Password data  field. In fact any two pieces of information that in combination provide a unique value can be used as the login, using these SELF.Lastname and SELF.EmailAddress properties. The server and client just need to understand ahead of time what combination of fields will be used.&lt;br /&gt;&lt;br /&gt;That completes Hardware Key-Style Login. In the next posting, Build 13C1.00 Feature Review Part 3, I'll cover several new CHT Client Server features having to do with SQL implementations.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  August 3, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4345185265032243148?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4345185265032243148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4345185265032243148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4345185265032243148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4345185265032243148'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/08/cht-build-13c100-new-features-review.html' title='CHT Build 13C1.00 New Features Review'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3316821263666036446</id><published>2009-06-04T21:28:00.007-04:00</published><updated>2009-06-04T21:49:39.230-04:00</updated><title type='text'>CHT Support Forum Improvements</title><content type='html'>&lt;h3&gt;Internet Cable Repairs&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;On the weekend we had the cable company come in and make some cable repairs and that made a huge difference in our upload speed which should normally be in the range of 1-1.5 megabits per second. Due to cable failure problems that had deteriorated to .2 to .3 megabits per second. Now, with those repairs completed, we're back to normal speeds and the support forum is as snappy as it ever was.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;CHT Support Forum Work Flow Changes&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;We've also made a helpful work flow change to the message submission steps. In the past you entered a message in the message editor and on saving, you were taken directly back to the browse with your just-posted message at the top. As of yesterday, on clicking "Save" to post your message, you're taken to a preview screen which lets you see your message the way others see it, rather than in text edit mode. This lets you see any images you may have embedded, as well as any special characters, exactly the way others will see your message.&lt;br /&gt;&lt;br /&gt;From this message preview screen you can then return to the browse using the new "Browse" menu item near the top of the window, where your menu has always been. By clicking this you're taken back to the messages browse with your message on top. &lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/clickbrowse2.gif" alt="clickbrowse2.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;If what you see in the preview isn't quite what you intended, just click the "Open" button beside your message as you've always done. That drops you back into the editor. Our forum lets you edit your message as many times as you like, or post addendums. Message threads and all the rest work exactly as before.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/reeditmessage2.gif" alt="reeditmessage2.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;CHT Forum Is A Source APP In Subscriber Tool Kits&lt;/h3&gt;&lt;br /&gt;&lt;br /&gt;In case you're not aware, the CHT support forum server app is actually provided to subscribers in source application format along with approximately 130 other applications, described &lt;a href="http://www.cwhandy.ca/chtapplications.html"&gt;here&lt;/a&gt;. You can compile it, and modify it to suit your your purposes.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;June 4, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3316821263666036446?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3316821263666036446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3316821263666036446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3316821263666036446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3316821263666036446'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/06/cht-support-forum-improvements.html' title='CHT Support Forum Improvements'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3783242587633747289</id><published>2009-06-01T12:09:00.004-04:00</published><updated>2009-06-01T12:19:31.503-04:00</updated><title type='text'>Four CHT Example Applications For You To Try</title><content type='html'>If you're a CHT subscriber, the four applications discussed here are demos provided for you in source application format as part of approximately 130 different example applications included with our tool kit.&lt;br /&gt;&lt;br /&gt;One and all, CHT subscribers or not, you're invited to download these fully functional applications built with C7.0.0.5646. I personally use these applications on a daily basis in my day to day business affairs. You're welcome to download them and use them too, no strings attached.&lt;br /&gt;&lt;br /&gt;The installer is packaged in a .ZIP file built with our toolkit's zip functionality. Once you have the zip, please extract the-web installer executable before attempting to run it. Since these demos use web installers - built by another CHT application also included in source with our toolkit - the actual installed application is downloaded from our website in the form of an .HZO file, a topspeed file containing a compressed and encrypted application and any related DLLs. Windows VISTA will pop up an approval dialog when the application first contacts our website. You'll need to approve that before the installer is allowed to proceed and complete the installation.&lt;br /&gt;&lt;br /&gt;All applications are placed in an &lt;i&gt;All Programs&lt;/i&gt; folder called "CHT" from which you can start them. An uninstall link is also provided for each application, for those of you just kicking tires.&lt;br /&gt;&lt;br /&gt;Everything provided here, the demos, the installers, even the zips are built with Clarion 7 and The Clarion Handy Tools only. Nothing else. &lt;i&gt;Remember as you read this what one of your happy users says about CHT:&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.com/hnd_dozen.gif" alt="http://www.cwhandy.com/hnd_dozen.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Handy Zip'N FTP&lt;/h3&gt;&lt;br /&gt;HNDZIPNFTP.APP combines CHT's zip file creation capabilities with CHT's wide-ranging FTP powers to provide a "Handy" utility that assists with backups to a virtual web space. The application can be pre-configured to back up a particular directory using a file mask and/or a CHT Query that describes the files to be backed up, resulting in a standard zip file that can include source subdirectories right inside the zip. An FTP configuration dialog lets you preconfigure one or more target FTP servers and web directories to accept your zip file. Once configured, your application can build a backup with one button click and send it to an FTP server with a second click.&lt;br /&gt;&lt;br /&gt;Download it here: &lt;a href="http://www.cwhandy.com/setup/hndzipnftp.zip"&gt;Handy Zip'N FTP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Handy Zip'N Email&lt;/h3&gt;&lt;br /&gt;HNDZIPNEMAIL.APP combines CHT's zip file creation capabilities with CHT's wide-ranging EMAIL powers to provide a "Handy" utility that assists with sending zips via SMTP email. The application can be pre-configured to back up a particular directory using a file mask and/or a CHT Query that describes the files to be backed up, resulting in a standard zip file that can include source subdirectories right inside the zip. An SMTP configuration dialog lets you preconfigure one or more target SMTP servers to accept your zip file. Once configured, your application can build a backup with one button click and send it to one or more recipients with a second click.&lt;br /&gt;&lt;br /&gt;Download it here: &lt;a href="http://www.cwhandy.com/setup/hndzipnemail.zip"&gt;Handy Zip'N Email&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Handy HTTP Zip'N Post&lt;/h3&gt;&lt;br /&gt;HNDHTTPZIPNPOST.APP combines CHT's zip file creation capabilities with CHT's wide-ranging HTTP powers to provide a "Handy" utility that assists with backups to a virtual web space. The application can be pre-configured to back up a particular&lt;br /&gt;directory using a file mask that describes the files to be backed up, resulting in a standard zip file that can include source subdirectories right inside the zip. An HTTP configuration dialog lets you preconfigure a target web server (IIS-type or CHT-type) and a web subdirectory to accept your zip file. Once configured, your application can build a backup with one button click and POST it to a web server with a second click.&lt;br /&gt;&lt;br /&gt;Download it here: &lt;a href="http://www.cwhandy.com/setup/hndhttpzipnpost.zip"&gt;Handy HTTP Zip'N POST&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;CHT Video Education Player&lt;/h3&gt;&lt;br /&gt;While this media player is set up to stream .WMV versions of CHT educational videos from our website, it also serves as a model for developers wishing to build their own streaming video players. The player is built on CHT Template HandyComMediaControl which uses the Windows Media Player COM object based in WMP.DLL. The player is capable of playing off-line any videos which have been previously viewed to completion. On-line viewing of uncached videos begins quickly, once approximately 5 percent of the video has downloaded, and already-cached videos begin immediately since they are not downloaded again. If you plan to adapt this application to act as a video player for your own videos, a useful, accompanying application called HNDBUILDVIDEOLIST.APP can build video index files on your CHT-based video server, of the type utilized by this application and by the HNDWindowsMediaPlayer class (HNDWMP.INC, HNDWMP,CLW, HNDWMP.TLB).&lt;br /&gt;&lt;br /&gt;Download it here: &lt;a href="http://www.cwhandy.com/setup/hndvideoeducation.zip"&gt;CHT Video Education Player&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A summary of all currently shipping CHT Demonstration applications is available here:&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtapplications.html"&gt;CHT Applications Summary (HTML)&lt;/a&gt;, or here &lt;a href="http://www.cwhandy.ca/chtapplications.pdf"&gt;CHT Applications Summary (PDF)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;June 1, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3783242587633747289?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3783242587633747289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3783242587633747289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3783242587633747289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3783242587633747289'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/06/four-cht-example-applications-for-you.html' title='Four CHT Example Applications For You To Try'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2687448948706326343</id><published>2009-05-01T18:28:00.010-04:00</published><updated>2009-06-01T12:24:28.289-04:00</updated><title type='text'>Build 13B1.00 Update Posted Today</title><content type='html'>&lt;h2&gt;CHT Auto-Backup Configurator Now Provides .APP/.DCT Restore Features&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;Both the C6 and C7 installs have provided for the last couple of months the source and precompiled versions of an application called HNDBACKUPCONFIG.APP (for C6) and HNDBACKUPCONFIGC7.APP (for C7). Application interface below:&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="autobackupconfig01.jpg" src="http://www.cwhandy.ca/autobackupconfig01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;There's a new button on the toolbar illustrated in the screen snapshot below, that automatically zips all .DCT and .APP files presently located in your auto-backup directory into a date/time stamped zip file. Click this button and several steps outlined below take place in a single pass.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="autobackupconfig02.jpg" src="http://www.cwhandy.ca/autobackupconfig02.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;First, the new button automatically drops a filter into the query control as follows: &lt;i&gt;NAME ENDSWITH .DCT OR NAME ENDSWITH .APP&lt;/i&gt; followed by another automatic push of the standard zip button. Then it performs a select-all to select ll files matching the file query inserted. Finally, a zip pass of all selected files is made.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndbackupconfig03.jpg" src="http://www.cwhandy.ca/hndbackupconfig03.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;When that zip process completes, there's a message informing how many files were zipped followed by a question asking whether to delete the source files just zipped. May as well say yes, since those files are now archived into a new date/time stamped zip file placed into your backup directory. Any time later, should you need to, you can re-locate that zip file with a date/time/name targeted query.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndbackupconfig04.jpg" src="http://www.cwhandy.ca/hndbackupconfig04.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Finally the backup directory listing is refreshed, and a re-sortable listing of previously created zip containers is displayed. This functionality as described so far has existed for a couple of months prior to today's update.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;How The .APP/.DCT Restore Features Work&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;First, use the query control to find a zip container in the date/time range by entering a query to delimit the list of zip containers (see example illustration below).&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndbackupconfig05.jpg" src="http://www.cwhandy.ca/hndbackupconfig05.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Once you have the date range narrowed down, right click any zip container to see the files inside. You do this by first selecting a single container, followed by a mouse right click. That opens the selected zip container and displays a searchable list of .APP and .DCT files inside the zip container as in the illustration below.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndbackupconfig06.jpg" src="http://www.cwhandy.ca/hndbackupconfig06.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In the illustration that follows, we've entered "04-17" in the file query to delimit the list to applications and dictionaries to those from April 17. It's important to complete the "Restore Folder" field on this dialog if you haven't done so. This is the folder into which any restored applications and dictionaries are going to be placed.&lt;br /&gt;&lt;br /&gt;Even if this were set by accident to your normal working app-development folder, there's no chance your present .APP and .DCT files will be overwritten since the file names of all restored files are unique due to the incorporated date stamp.&lt;br /&gt;&lt;br /&gt;With the restore folder set, select one file, a range of files or specific files, using standard MS Windows record-marking keys (Click, Ctrl-Click, Shift-Click and so on) followed by a right click. A message then popus up reminding you how many files will be restored and into which directory they are going to be placed. Click YES and in an instant your files are back in standard .APP and .DCT format ready to be opened.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndbackupconfig07.jpg" src="http://www.cwhandy.ca/hndbackupconfig07.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The idea, in principle, is to get one or more files restored into a working folder where you can open them and perhaps recover work removed or compare the prior version of an application with it's present version. Or, if you wish to recover a specific application, to open it with your Clarion IDE in the restore folder and performing a "Save As" to your working folder. The same steps could apply to a dictionary as well.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Bulk Field Import Feature Added To QueryParsingFilterControl&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;At the request of a subcriber (Drew Bourrut) we've added a bulk "hot" field import feature to QueryParsingFilterControl - see illustration.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="qpfchotfields01.jpg" src="http://www.cwhandy.ca/qpfchotfields01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Many of you who use this control with ExplorerBrowse, HandyMarkerBrowse and LocatorOverRideControl probably don't even bother to complete this "hot" field dialog since it's not necessary to add fields which are already populated on browses created with those CHT browse extensions. This dialog is intended for situations where you want to query data view fields which do not appear in your browse, or to use QueryParsingFilterControl with raw ABC browses, Reports and Processes.&lt;br /&gt;&lt;br /&gt;You've always been able to individually select fields and add friendly query names to them as well as to import fields from a fields list created by an instance of this template on another procedure. Here are some things you should know about how this works:&lt;br /&gt;&lt;br /&gt;•  Field friendly names are auto-assigned with the colon replaced by an underscore and upper cased so that REC:MyField becomes REC_MYFIELD as seen in CHT Query Builder.&lt;br /&gt;&lt;br /&gt;•  Field settings can be edited after import and even exported to be used elsewhere in your application.&lt;br /&gt;&lt;br /&gt;•  Group structure names &lt;i&gt;are not&lt;/i&gt; imported. Fields inside these groups &lt;i&gt;are&lt;/i&gt; imported.&lt;br /&gt;&lt;br /&gt;•  Only the date and time fields from an SQL date stamp are imported. The date string @s8 and the group OVER this string are skipped. These are not needed. The CHT query system figures out what to send to your SQL data base to make date queries work without you needing to think about these Clarion-induced complications.&lt;br /&gt;&lt;br /&gt;In the past, we've always let you establish field order in this dialog in an order determined by you - so that the fields could appear in CHT Query Builder in your own order of priority. That still applies, but with this additional feature, we've added an optional &lt;i&gt;"Sort Fields In CHT Query Builder?"&lt;/i&gt; switch (shown above) which causes your query field names to appear in CHT Query Builder in ascending alpha order - see illustration below.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="chtquerybuilder01.jpg" src="http://www.cwhandy.ca/chtquerybuilder01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Query Builder Column Width Adjustments Made&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;The feature explained above tends to produce fairly long friendly field names since they incorporate the prefix and an underscore. In this update we've made some adjustments to the standard column widths provided in the data "Column" area. While you could always - and still can - adjust the widths yourself, this change is&lt;br /&gt;a convenience for CHT Query Builder users.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Data With Query Only And Opening Query - On CHT Browse Extensions&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;This functionality now works with all CHT browse extension templates: &lt;i&gt;LocatorOverRideControl&lt;/i&gt;, &lt;i&gt;ExplorerBrowse&lt;/i&gt; and &lt;i&gt;HandyMarkerBrowse&lt;/i&gt;, regardless of whether - in the case of the latter two templates - your browse incorporates a &lt;i&gt;QueryParsingFilterControl&lt;/i&gt; or not. Further, the &lt;i&gt;Data With Query Only&lt;/i&gt; feature works independently of &lt;i&gt;or&lt;/i&gt; in combination with the &lt;i&gt;Opening Query&lt;/i&gt; feature.&lt;br /&gt;&lt;br /&gt;Further still, the Opening Query can be entered in the form of a hard coded constant such as "CITY = LONDON" or as a variable like !MyQuery - with the leading exclamation point indicating that you've entered a variable. When using a variable just make sure it's initialized before the CHT template calls SELF.PostQuer(MyQyery) in the HBRWx.AutoInit()method that initializes our browse extension template.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="datawithquery01.jpg" src="http://www.cwhandy.ca/datawithquery01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;CHT Video Education Default Port Changed HTTP Port 80&lt;/h2&gt;&lt;br /&gt;In prior releases, this application was set to default to connection port 23. We've changed this to port 80 since port 23 is blocked in some corporate environments.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndvideoeducation01.jpg" src="http://www.cwhandy.ca/hndvideoeducation01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The video index is assembled by a CHT data server from a data table available to this server. The actual video is played from a rented, high-speed server. The video index looks like this:&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndvideoeducation02.jpg" src="http://www.cwhandy.ca/hndvideoeducation02.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Local Variable In First Column Of HandyMarkerBrowse&lt;/h2&gt;&lt;br /&gt;We fixed an issue found by one of our developers (Piotr Heidak) having to do with populating a local variable in the first browse column of a HanyMarkerBrowse-extended browse. On all other browse columns but the first, this worked correctly in the past, now it works as expected on all columns. We've inserted an example of this into one of the existing browse examples in HND3.APP - see screen shot below.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndmarkerbrowse01.jpg" src="http://www.cwhandy.ca/hndmarkerbrowse01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;While on this topic let us point out a feature available on CHT browse extensions that lets you populate local variables to your browse and still have them sort with a header-click as if the local were a real data table variable. The trick is to use the &lt;i&gt;Forced Sorts&lt;/i&gt; dialog on our template to insert a proxy data table variable&lt;br /&gt;(or variables) to stand in for the local. When you do this, even in SQL tables, the query sent to the data base incorporates the proxy variable in the ORDER BY clause. In our example pictured above, we've created a local variable called &lt;i&gt;CityState&lt;/i&gt; and by formula we've concatenated the back end values from the City and State fields. Then on the &lt;i&gt;Forced Sorts&lt;/i&gt; dialog we've configured as in the screen snapshot below with a primary sort on PEO:City and a subsort on PEO:State.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="forcedsorts01.jpg" src="http://www.cwhandy.ca/forcedsorts01.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;New, Powerful Features In CHT Installation Tuner&lt;/h2&gt;&lt;br /&gt;In a previous update last month, we announced that all C7 containers have been re-organized with C7 specific subdirectories incorporated. With that change, CHT Installation Tuner was reworked to work exactly like the C6 version, fully able&lt;br /&gt;to restore all CHT installation files to their installation state and to report any that have changed, are missing or have been touched.&lt;br /&gt;&lt;br /&gt;In this update we've added two right-click features that provide installation fine-tuning features. With a right click on the CHT Installation Tuner browse - the installation index - you can perform two new functionalities: &lt;u&gt;Open Selected&lt;br /&gt;Object's HZO Container&lt;/u&gt; and &lt;u&gt;Extract Selected Object(s) To Installation Folders&lt;/u&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="TEXT-ALIGN: center"&gt;&lt;img alt="hndzindex00.jpg" src="http://www.cwhandy.ca/hndzindex00.jpg" /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;•  The first menu item opens the selected object's installation container. CHT Installation Containerizer is then started to open the .HZO container in which that installation object is stored. Installation containers are named in the &lt;i&gt;HZOName&lt;/i&gt; column to the right of the object &lt;i&gt;Name&lt;/i&gt; column. This menu item requires you to select only &lt;i&gt;One&lt;/i&gt; item from the index, since two adjacent index items may be located in different containers.&lt;br /&gt;&lt;br /&gt;•  The second menu item permits single or multi-select on the index. It can be used to restore specific items from the installation container to the installation directory - &lt;i&gt;i.e. the folder to which that item would normally install&lt;br /&gt;depending on which Clarion version is in use.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com/"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="mailto:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;May 1, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2687448948706326343?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2687448948706326343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2687448948706326343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2687448948706326343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2687448948706326343'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/05/build-13b100-update-posted-today.html' title='Build 13B1.00 Update Posted Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8360120778121793961</id><published>2009-04-05T14:04:00.004-04:00</published><updated>2009-04-05T14:10:19.558-04:00</updated><title type='text'>Small Upated Posted to Build 13B1.00 April 4, 2009</title><content type='html'>We've posted a small update to Build 13B1.00 last night, April 4, 2009. This update is part of an ongoing series of changes and additions to our 13B1.xx, 2nd quarter CHT build.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;New CHT Templates&lt;/h3&gt;&lt;br /&gt;In this update we've added three new templates called: &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embedmapifunctions"&gt;Source_EmbedMAPIFunctions&lt;/a&gt;, &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embedzipfunctions"&gt;Source_EmbedZipFunctions&lt;/a&gt; and &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_writezipcode_sezf"&gt;Source_WriteZipCode_SEZF&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These three templates are a continuation of our &lt;i&gt;Templates For ABC Source Procedures&lt;/i&gt; initiative discussed in our April 1, 2009 entry posted below on this page. The purpose of this set of templates - all template names starting with "Source_" - is to accommodate the ABC source code procedure which is missing most standard embed points and so is not a very flexible target for template-placed embed code.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;New CHT Applications&lt;/h3&gt;&lt;br /&gt;With this update we've added two new demo applications called: &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndsourcesmtpdemo_app"&gt;HNDSOURCESMTPDEMO.APP&lt;/a&gt; and &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndsourcemapidemo_app"&gt;HNDSOUCEMAPIDEMO.APP&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The purpose of these small demo apps is to illustrate the suite of "Source_" templates which at this point includes eight new templates. More demo apps of this sort will appear during this quarter to illustrate all "Source_" templates available so far. I also have several new "Source_" templates in mind for this quarter and they&lt;br /&gt;too will eventually get separate demos or they will be incorporated into the existing demos.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;PopUp Menu Demo Jazzed Up&lt;/h3&gt;&lt;br /&gt;We spent a few minutes "jazzing" up &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndpopupmenudemo_app"&gt;&lt;br /&gt;HNDPOPUPMENUDEMO.APP&lt;/a&gt; mentioned in our April 1, 2009 entry and have added menu-based calls to also raise the popups embedded under the window buttons by our template. That application now looks as follows:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;img src="http:\\www.cwhandy.ca\hndpopupmenudemo_2.bmp" alt="hndpopupmenudemo_2.bmp" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;C7 News&lt;/h3&gt;&lt;br /&gt;We've been slowly adding to our suite of C7 demo applications. Eventually we want all but a couple of CHT demo and utility applications to be available in both C6 and C7 format. We've dragged our feet on a few of these while waiting for a C7 bug fix (a PTSS Item I posted) that seems to be taking its time. It's not a serious&lt;br /&gt;bug but an irritating one since we tend, in C6, to often use an equate, HPROP:AppVersionEx, in the title bar of our windows. C6 doesn't have a problem with this. But apps that contain anything but text in the window title are a problem for C7 during the conversion process. C7 reports &lt;i&gt;Constants&lt;/i&gt; and &lt;i&gt;Variables&lt;/i&gt; used in your window title bar as errors, so that after conversion, you need to go to the window and edit the title bar back to text.&lt;br /&gt;&lt;br /&gt;Long-time CHT user, Robert Barton, alerted us yesterday that when CHT was registered in C7 he was unable to import from another application without encountering a UHE. It appears that when C7 initializes the the template registry in preparation for import, it runs the #SYSTEM code in our template. Since this has always worked just fine in C6 we had to write a workaround to accommodate C7. So as of this update you're able to import from other C7 applications without encountering any problem. We'll raise a C7 bug report to PTSS to explain what causes the UHE and request a fix.&lt;br /&gt;&lt;br /&gt;Just a reminder once again, when you do a C7 update, don't forget to run one or the other of our C7 installers to bring our classes and templates up to date after the C7 re-installation.&lt;br /&gt;&lt;br /&gt;That's all for now.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces&lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  April 4, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8360120778121793961?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8360120778121793961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8360120778121793961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8360120778121793961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8360120778121793961'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/04/small-upated-posted-to-build-13b100.html' title='Small Upated Posted to Build 13B1.00 April 4, 2009'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8971332062412712357</id><published>2009-04-05T13:53:00.007-04:00</published><updated>2009-04-05T14:03:39.762-04:00</updated><title type='text'>New Build Released 13B1.00 April 1, 2009</title><content type='html'>As of April 1, 2009 now you're able to download the latest build numbered 13B1.00.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;New Templates In Build 13B1.00&lt;/h3&gt;&lt;br /&gt;&lt;i&gt;More Support For ABC Source Code Procedure Template&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We've made it easier to add some of CHT's low-level classes to your procedures built with the ABC source procedure template. In this build, we've added the following templates: &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embeddatefunctions"&gt;Source_EmbedDateFunctions&lt;/a&gt;,&lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embeddiskfunctions"&gt;Source_EmbedDiskFunctions&lt;/a&gt;, &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embedutilityfunctions"&gt;Source_EmbedUtilityFunctions&lt;/a&gt;, &lt;a href="http://www.cwhandy.ca/chttemplates.html#source_embedencryptionfunctions"&gt;Source_EmbedEncryptionFunctions&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;ABC source procedures don't have the normal range of embed points provided in ABC window-based procedures, so in order to attach classes in which derivation is automated the way it is in all other ABC procedures, a special template&lt;br /&gt;is required. These four templates provide that special design. You're able to see the class functions inside the procedure &lt;i&gt;and&lt;/i&gt; you are able to embed code inside these methods the same way you can in a Window, Browse, Report and Process template. All four are &lt;i&gt;extension&lt;/i&gt; templates so they're added to your source procedure via the IDE &lt;i&gt;extensions&lt;/i&gt; interface. &lt;br /&gt;&lt;div style="text-align: right;"&gt; &lt;img src="http://www.cwhandy.ca/source_templates.gif" alt="source_templates.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Soon we'll give you at least one example application using these templates to illustrate what you can do with them.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;i&gt;New Pop-Up Menu Template&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;This build, we've given you a Pop-Up menu template called &lt;a href="http://www.cwhandy.ca/chttemplates.html#handypopupmenubutton"&gt;HandyPopUpMenuButton&lt;/a&gt;. With this template you're able to easily build pop up menus which include images. The template provides a button control which is used to trigger the pop up menu. Clever developers know that they really don't need to display this button to make it work for them. By simply hiding the button, and posting EVENT:Accepted to it from any other control or from an embed in your procedure, the pop up menu can be made to do what you've set it up to do.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/handypopupmenu2.gif" alt="handypopupmenu2.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/handypopupmenu1.gif" alt="handypopupmenu1.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For an example application illustrating &lt;a href="http://www.cwhandy.ca/chttemplates.html#handypopupmenubutton"&gt;HandyPopUpMenuButton&lt;/a&gt; look at &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndpopupmenudemo_app"&gt;HandyPopUpMenuDemo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;i&gt;Windows Services Template Revised&lt;/i&gt;&lt;/center&gt;&lt;br /&gt;We've revised the &lt;a href="http://www.cwhandy.ca/chttemplates.html#handyntservicefunctions"&gt;HandyNTServiceFunctions&lt;/a&gt; template with a switch which when checked, makes the window service "silent" whenever it is installed or removed. In the previous version of this template, the service displayed messages when it was first installed and when it was removed. While displaying messages is still the default mode of operation, now you can suppress the messages if you choose to (see image).&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/handyntservicefunctions.gif" alt="handyntservicefunctions.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Look at application &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndwindowsservicedemo_app"&gt;HndWindowsServiceDemo.APP&lt;/a&gt; for an example illustrating use of this template. While we were at it we also fleshed out this functionality in-code by adding two commands &lt;i&gt;/ISQ (install service quietly)&lt;/i&gt; and &lt;i&gt;/RSQ (remove service quietly)&lt;/i&gt;. The image that follows is from the service application's interface. We use this application set for 3:30 AM daily, to back up our tool kit source code by having it start &lt;a href="http://www.cwhandy.ca/chtapplications.html#hndfsynch_app"&gt;HNDFSYNC.APP&lt;/a&gt;, passing it a sync control file called &lt;i&gt;hndfsync_driveo.tps&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt; &lt;img src="http://www.cwhandy.ca/hndwindowservicedemonew.gif" alt="hndwindowservicedemonew.gif" &gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;For a full review of new and revised templates so far in 2009, follow this link: &lt;a href="http://www.cwhandy.ca/chttemplates2009.html"&gt;New/Revised Templates YTD 2009&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;&lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;April 1, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8971332062412712357?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8971332062412712357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8971332062412712357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8971332062412712357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8971332062412712357'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/04/new-build-released-13b100-april-1-2009.html' title='New Build Released 13B1.00 April 1, 2009'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2252898489656269807</id><published>2009-02-04T20:38:00.001-05:00</published><updated>2009-02-06T08:24:09.216-05:00</updated><title type='text'>CHT INSTALLATION TUNER FOR C7</title><content type='html'>As promised, we've posted a fully functional WEBUPDATER C7 _AND_ a fully functional CHT INSTALLATION TUNER (HNDZINDEXC7.EXE). Installation Tuner and WEBUPDATER for C7 were tricky, because we decided to re-use all C6 containers - why not - except those that contain the C7 apps and dct's - which are different - and some of the C7 specific .EXE's like HNDZINDEXC7.EXE itself. C7 uses different path locations than C7, so we had to intercept these and change them on the way in. Works good now though. &lt;br /&gt;&lt;br /&gt;I tried to do this last night and did a partial upload last night which I wasn't able to finish as I got one heck of a cold over the weekend and felt like crap. I struggled through today and am happy with HNDZINDEXC7.EXE, which was developed forward in C7 from the C6 version&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;gcreces@sympatico.ca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2252898489656269807?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2252898489656269807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2252898489656269807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2252898489656269807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2252898489656269807'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/02/cht-installation-tuner-for-c7.html' title='CHT INSTALLATION TUNER FOR C7'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7476282084578493626</id><published>2009-01-30T17:54:00.003-05:00</published><updated>2009-01-30T17:58:19.507-05:00</updated><title type='text'>Two New Clarions Today</title><content type='html'>We received notification today of the release of Clarion 7.0.0.4790 as well as Clarion.Net 7.0.0.4769 and have done re-installs and brief checks of both. &lt;br /&gt;Clarion 7 checks out ok with a dozen or so CHT demo applications I tested. No exhaustive testing done but another of my reported bugs is fixed in this release. &lt;br /&gt;&lt;br /&gt;RE: CLARION 7&lt;br /&gt;Here is a list of the latest changes and additions Clarion 7.0.0.4790: &lt;br /&gt;&lt;br /&gt;• FEATURE: Clarion Template Code Editor supporting code folding and drop list for type of templates and names and parameters. &lt;br /&gt;&lt;br /&gt;• FEATURE: #HELP, #RUN and #RUNDLL use the redirection file to try and find the necessary file. &lt;br /&gt;&lt;br /&gt;• FEATURE: When you install a version of Clarion into the C7 IDE the base redirection file for that version will automatically be upgraded so that #HELP, #RUN and #RUNDLL can use the redirection file &lt;br /&gt;&lt;br /&gt;• CHANGE: Better error message when a key cannot be found for a relationship when upgrading a dictionary &lt;br /&gt;&lt;br /&gt;• CHANGE: Clarion Templates highlighting was not allowing to comment template code &lt;br /&gt;&lt;br /&gt;• CHANGE: Warning message changed from "Option text is too long" to "The option was truncated by a prior version of Clarion" &lt;br /&gt;&lt;br /&gt;• CHANGE: add data pictures and scrollbar to the LISTBox formatter &lt;br /&gt;&lt;br /&gt;• FIX: Clarion template chain was referencing C60HELP.HLP &lt;br /&gt;&lt;br /&gt;• FIX: Help was unavailable from some Help buttons inside generator &lt;br /&gt;&lt;br /&gt;• FIX: Win32 redirection system did not support include directives with quotes surrounding the file name &lt;br /&gt;&lt;br /&gt;• FIX: %Procedure must be re-fixed to complete re-synchronization of dependent symbols &lt;br /&gt;&lt;br /&gt;• FIX: Command line passed to RUN could be parsed incorrectly &lt;br /&gt;&lt;br /&gt;• FIX: Some memory was not being garbage collected from the data pad &lt;br /&gt;&lt;br /&gt;• FIX: adding/editing of nested GROUP and QUEUE structures to applications as well as groups or queues after other groups and queues &lt;br /&gt;&lt;br /&gt;• PTSS 31947: Wrong error could be reported on parsing #WINDOWS/#ENDWINDOWS and #REPORTS/#ENDREPORTS blocks &lt;br /&gt;&lt;br /&gt;Don't forget that once you've installed this latest C7 version to at least open and then close WEBUPDATER or the HNDC7INSTALL application. If you don't do this after re-installing C7 classes you'll get a "PRIVATE" error on compiling any of our demo apps. Don't report that please, just rerun either installer. &lt;br /&gt;&lt;br /&gt;Just a quick reminder not to run the CHT Installation Tuner for either C6 or C7 until we give notice of it's completion. The introduction of special .APP and .DCT containers for C7 require some changes to this application which we've not yet completed. They'll be along early next week. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RE: CLARION.NET&lt;br /&gt;The Clarion.NET 4769 update was a welcome surprise. We've been so pre-occupied with C7 we haven't had much time to experiment with this Clarion in the last couple of months. However, we did dig out a CHT demo app created for Clarion.NET in the previous version and it compiled and ran OK in the latest Clarion.NET, so there have been at least no compiler changes since the last release. If you don't have that Clarion.NET demo app, we're happy to supply you with a copy if you'd like it. Post your request as a reply to this message on the CHT forum. &lt;br /&gt;That's all for now. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;support@cwhandy.com&lt;br /&gt;January 30, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7476282084578493626?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7476282084578493626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7476282084578493626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7476282084578493626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7476282084578493626'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/01/two-new-clarions-today.html' title='Two New Clarions Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7465033939328963667</id><published>2009-01-19T12:20:00.003-05:00</published><updated>2009-01-19T12:25:10.749-05:00</updated><title type='text'>Build Update (13A1.02) Posted Last Night</title><content type='html'>We posted an update to the 13A1.XX build last night, numbered 13A1.02. This build update is in preparation for the imminent release also of our full C7 installer which I'm still hoping to do this week. I was hoping to check it out first against the next C7 update - which is supposed to be this week - before setting it free. If that update doesn't materialize before, say this coming Saturday January 19th, 2009, we'll release WEBUPDATER-C7 anyway.&lt;br /&gt;&lt;br /&gt;The first thing you will notice with last night's 13A1.02 build update is that the WEBUPDATER graphic now sports a "C6" prominently on the window inside a white oval. This is so that you can easily distinguish the updaters when you have both to contend with. The C7 WEBUPDATER will display a "C7" inside the oval pictured below.&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/webupdaterc6graphic.gif" alt="webupdaterc6graphic.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Application/DCT Auto-Backup Feature&lt;/b&gt;&lt;br /&gt;Last night's build update also introduces a new feature available both for C6 and C7, the ability to turn on auto-backup for your applications and dictionaries. Any time your application is re-generated due to changes made by the "Save" button, a backup is made of the application as it was immediately after the last "Save".  This feature is OFF by default but can be turned on and configured using a new support application called HNDBACKUPCONFIG, pictured below.&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/hndbackupconfig.gif" alt="hndbackupconfig.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;From this app interface you can set the backup directory, turn auto-backup on/off and manage older backups by either deleting them or zipping them into a compressed batch first and then deleting them. This backs up both the .APP file and the .DCT of your application. At the moment, it is doing this rather aggressively (making more backups than is really necessary) I'm working on fine tuning this a bit to cut down on duplicate backups but initially I'm erring on the side of more, rather than less.&lt;br /&gt;Suggestions on the operation of this are welcome.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;New Cross Installer Feature&lt;/b&gt; &lt;br/&gt;&lt;br /&gt;&lt;br /&gt;There's a new C7 Cross installer feature in last night's update. This lets you configure some C7 application options at the time of install. It also lets you see how these options are currently configured, even if you don't intent do change them. The graphic below illustrates what this looks like:&lt;br /&gt;&lt;br/&gt;&lt;div style="text-align: left;"&gt;&lt;img src="http://www.cwhandy.ca/hndc7installgraphic.gif" alt="hndc7installgraphic.gif"&gt;&lt;/div&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;Note that this throws a configurable location at you asking where you'd like your C7 to open. This will default to the "Default Project Location" currently configured on your C7 options.  Since this Cross-installer does not (and will not) install C7 examples this field is more informational than useful. However you can change here the default directory where C7 will open up when you click it's open solution menu.&lt;br /&gt;&lt;br /&gt;The other items illustrate how I like to configure my C7 "Application Options". A similar feature is planned for the C7 Webupdater, which will provide you with C7 equivalents of the C6 demo applications and dictionaries. In that case you can determine where you want to install your CHT demo applications. I'll provide a "Tools" menu item that automatically points C7 to open up on those demo apps when you want to "play" with them, regardless of where you decide to install them.&lt;br /&gt;&lt;br /&gt;Thats all for now.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  January 15, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7465033939328963667?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7465033939328963667/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7465033939328963667' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7465033939328963667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7465033939328963667'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/01/build-update-13a102-posted-last-night.html' title='Build Update (13A1.02) Posted Last Night'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4999221554344152913</id><published>2009-01-08T18:40:00.004-05:00</published><updated>2009-01-09T08:46:27.741-05:00</updated><title type='text'>CHT Changes Posted C7-4673 Compatible</title><content type='html'>We've uploaded some template changes (no version change) that work around the C7-4673 problem with #CONTEXT/#ENDCONTEXT. If you intend to test and use C7-4673 you should download this set of changes. Other than the #CONTEXT problem which stopped our template set dead in the water, 4673 seems stable enough. &lt;br /&gt;If you intend to skip over C7-4673 and stay with C7-4608 until the next build (presumably next week) then we suggest you wait with your CHT update until that time. &lt;br /&gt;&lt;br /&gt;Since C7-4673 also fixes a problem with #RUN() we removed the workaround in this template set that we'd implemented for the #RUN problem in C7-4608. So our template will not work correctly in earlier versions of C7 prior to this new one. So please make a choice on which C7 it will be and be prepared to live with it until the next C7 build. This kind of thing is likely to continue until C7 stabilizes and we see more consistent behavior. &lt;br /&gt;&lt;br /&gt;This upload also fixes some C7 issues with 4 control templates uncovered by Didier. SV fixed a problem last build with #ORIG() that I'd done a C7 workaround for. When that C7 change was put in place I didn't remove my workaround. This upload does remove the workaround and these 4 control templates now work as expected. (Didier, if you wouldn't mind giving these a re-test when you get a chance). &lt;br /&gt;&lt;br /&gt;I found an intermittent problem with compiler PRAGMAS disappearing from some C6-to-C7 converted apps. This upload resolves that. &lt;br /&gt;&lt;br /&gt;In short, you should be comfortable enough moving to C7-4673 if you're so inclined. No C6 relevant changes in this upload. &lt;br /&gt;&lt;br /&gt;I've posted a bunch of app changes that make the following apps C7 ready:&lt;br /&gt;HNDCOLOR.APP, HNDINSTALLMYFILES.APP, HNDIFTP.APP, HNDINSTALLATIONSERVER.APP, HNDINSTBA.APP, HND3.APP, HND5.APP, HND6.APP, HND7.APP, HND8.APP, HND8A.APP, HNDABCHK.APP, HNDBROWSERCLIENT.APP, HNDLNCH.APP, HNDFSYNCH.APP, HNDZINDEX.APP. These apps will convert error free to C7. They also incorporate smaller icons on the menus and the splash screen text area has been set to RTF since C7 has an issue displaying flat text boxes without borders. We're still waiting for SV to fix a C7 bug with equates in the Window title. &lt;br /&gt;&lt;br /&gt;There's one new app called HNDABCHKC7.APP which is specific to C7. This app will be used by our C7-only WEBUPDATER to aid with configuration. &lt;br /&gt;&lt;br /&gt;Finally, for those of you using windows 64 and intending to install C7 directly onto a WIN64 O/S where you can't use the C6/C7 cross-installer, you may be heartened to hear that we've made good progress on WEBUPDATER (C7) so that, with any luck, it should be available by mid next week. There are other support apps in our suite - like HNDABCHKC7.APP - which need to be adjusted to work in the context of C7; HNDZINDEX.APP and HNDFSYNC.APP for instance. These apps need to be looked at more closely to make sure they behave differently when compiled in the context of C7. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;support@cwhandy.com&lt;br /&gt;January 8, 2009&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4999221554344152913?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4999221554344152913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4999221554344152913' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4999221554344152913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4999221554344152913'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/01/cht-changes-posted-c7-4673-compatible.html' title='CHT Changes Posted C7-4673 Compatible'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3021899670244778378</id><published>2009-01-07T10:28:00.003-05:00</published><updated>2009-01-07T10:30:50.492-05:00</updated><title type='text'>Build 13A1.01 Now Available</title><content type='html'>We've just posted the first build for 2009 - 13A1.01.&lt;br /&gt;&lt;br /&gt;This includes a complete review of the demo apps (renumbered to Version 7.00.00) which I thought was appropriate given where we're headed in 2009. &lt;br /&gt;&lt;br /&gt;We've made some improvements in the cross installer (clarion6/3rdparty/hnd/hndc7install.exe) for Clarion 7 including now, silent template registration and automatic suppression of copying CHT dlls to the output directory. &lt;br /&gt;&lt;br /&gt;There are some template changes made for the benefit of Clarion 7. &lt;br /&gt;&lt;br /&gt;We've begun the task of converting all of the Demo apps to C7 (though they're not yet included) with this upload. Nor is the standalone installer (HND_WEBUPDATER_C7.EXE) available at this point in time. That, with any luck, will be available by the end of next week along with a full complement of  converted demo apps.&lt;br /&gt;&lt;br /&gt;You can find a templates overview for 13A1.01 here: &lt;a href="http://www.cwhandy.ca/chttemplates.html"&gt;CHTTTEMPLATES.HTML&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can find a demo apps overview for 13A1.01 here: &lt;a href="http://www.cwhandy.ca/chtapplications.html"&gt;CHTAPPLICATIONS.HTML&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3021899670244778378?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3021899670244778378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3021899670244778378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3021899670244778378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3021899670244778378'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2009/01/build-13a101-now-available.html' title='Build 13A1.01 Now Available'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5167775968080582954</id><published>2008-12-04T15:26:00.003-05:00</published><updated>2008-12-04T15:29:39.968-05:00</updated><title type='text'>Small CHT Update Posted</title><content type='html'>We've just posted a small CHT update.&lt;br /&gt;This does not involve a version number change. The version number stays at 12D1.03.&lt;br /&gt;&lt;br /&gt;Two changes:&lt;br /&gt;1) Problem with HandyThreadLimiter template fixed. This was causing small changes on single procedures to cause the entire application to recompile.&lt;br /&gt;&lt;br /&gt;2) Since SV has fixed the CREATE bug in C63.9059 that was causing truncation of the picture on our QPFC query control to @S20 any time you changed between query entry and query dropdown. We've reverted the query entry control to a CREATE:Entry control type from the CREATE:Text that we set up temporarily as a workaround to deal with this C63.9059 bug.&lt;br /&gt;&lt;br /&gt;Changes are available immediately via WebUpdater.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;www.cwhandy.com&lt;br /&gt;support@cwhandy.com&lt;br /&gt;December 3, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5167775968080582954?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5167775968080582954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5167775968080582954' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5167775968080582954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5167775968080582954'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/12/small-cht-update-posted.html' title='Small CHT Update Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8218676587132766262</id><published>2008-12-01T11:19:00.002-05:00</published><updated>2008-12-01T11:24:25.139-05:00</updated><title type='text'>Build 12D1.03 Posted Today</title><content type='html'>We've just released Build Sub-Update 12D1.03.&lt;br /&gt;&lt;br /&gt;With this build, we've incorporated some template workarounds for a C7 Bug involving #PDEFINE that was causing considerable grief. We've now test-converted and test-compiled with no problems the following CHT demos: &lt;br /&gt;HND2.APP&lt;br /&gt;HNDSQL9.APP&lt;br /&gt;HNDSQL10.APP&lt;br /&gt;HNDGMAILEXPLORER.APP (Make sure to turn off the C7-Copy DLL switch)&lt;br /&gt;HNDC7INSTALL.APP  (Make sure to turn off the C7-Copy DLL switch)&lt;br /&gt;HNDSCRIPT.APP&lt;br /&gt;HNDZIPNPOSTTOCHTSERVER.APP&lt;br /&gt;HNDZIPNFTP.APP&lt;br /&gt;HNDNETZIPDEMO.APP&lt;br /&gt;HNDVIDEOEDUCATION.APP&lt;br /&gt;HNDWINDOWSERVICEDEMO.APP&lt;br /&gt;HNDZIPNEMAIL.APP&lt;br /&gt;HNDCOMZIPPERCONTROL.APP&lt;br /&gt;HNDSETUP.APP&lt;br /&gt;HNDFSYNC.APP&lt;br /&gt;HNDFLASHDEMO.APP&lt;br /&gt;HNDZINDEX.APP&lt;br /&gt;HNDSQLTRACE.APP&lt;br /&gt;HNDFTPWZ.APP&lt;br /&gt;HNDCMP.APP&lt;br /&gt;HNDHOTKEYSERVICE.APP&lt;br /&gt;HNDCOLOR.APP&lt;br /&gt;HNDLNCH.APP&lt;br /&gt;&lt;br /&gt;For the next sub-release of this 12D build we'll review the remaining CHT demos so that you'll be able to convert all of these apps directly to a C7 version with no more effort than opening it in C7 and re-compiling in C7.&lt;br /&gt;&lt;br /&gt;There's also a new demo in this update called HNDGOOGLECALENDAREXPLORER.APP this is a parallel app to the one we released last month called HNDGMAILEXPLORER.APP. It uses Ed Grodsky's email account to log directly into his Google Calendar account.&lt;br /&gt;&lt;br /&gt;We've taken the demo app called HNDFORUMVIEWERLITE.APP a bit further from last month so that you can change the time range query on the forum messages page from the app's toolbar. This is done by interacting with the DOM variables in the web page and having the page then post it's request form back to the server. This concept can be taken a lot further and is a very powerful concept which we'll revisit with new demo apps.&lt;br /&gt;&lt;br /&gt;On the whole, I'm quite pleased with what I've seen of C7 now that I've narrowed down the C7 bugs that were getting in the way of our templates generating correctly. The #PDEFINE bug that we isolated this past week was a major step, because it caused more than one side effect (all of which are now gone with our work-around). The bug appeared intermittently and so was hard to pin down because it only appeared in certain usages of #PDEFINE, where the second parameter was a blank variable such as %False. Rather than a constant such as simply, 0 (zero).&lt;br /&gt;&lt;br /&gt;We presently are working around 4 fairly major C7 bugs, all of which we've reported to SV. These are: &lt;br /&gt;1) #EXTRACT()&lt;br /&gt;2) #RUN()&lt;br /&gt;3) EQUATES in window titles&lt;br /&gt;4) #PDEFINE()&lt;br /&gt;&lt;br /&gt;Since we only found a provable form of the #PDEFINE() bug on US Thanksgiving, that one has yet to be acknowledged but I'm sure it will be since the example I've provided illustrates the problem clearly.&lt;br /&gt;&lt;br /&gt;There's absolutely no question in my mind now that when C7 is out of beta and fully bug-fixed, you'll be able to take your C6.3 apps built with CHT templates and open them directly in C7, compile and run, with no need to modify or adapt the original application.&lt;br /&gt;&lt;br /&gt;A completed and fully debugged C7 app-gen also positions the Clarion.NET IDE to move forward onto the Clarion template system. While C7 is an incremental improvement over previous Clarions, Clarion.NET is going to be a breakthrough product. I'm convinced of that.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  December 1, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8218676587132766262?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8218676587132766262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8218676587132766262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8218676587132766262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8218676587132766262'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/12/build-12d103-posted-today.html' title='Build 12D1.03 Posted Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6197428204280787590</id><published>2008-11-20T15:50:00.001-05:00</published><updated>2008-11-20T15:51:44.637-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gus M. Creces'/><category scheme='http://www.blogger.com/atom/ns#' term='Clarion Handy Tools'/><title type='text'>Clarion 6.3.9059 Caution</title><content type='html'>There's a bug in Clarion 6.3.9059 with the CREATE() control function. We use this function with the CHT QueryParsingFilterControl to create a dropdown or an entry control depending on how you've configured the template.&lt;br /&gt;&lt;br /&gt;The end result of this bug is a query control that accepts only 20 characters max. This bug has been reported to SV, confirmed, and I'm told, sent immediately to development.&lt;br /&gt;&lt;br /&gt;In the meantime, if you're not using 9059 just yet, I suggest you hold off for the next release of it.&lt;br /&gt;&lt;br /&gt;I have managed to build a work-around for this using alternate controls, which I will post this evening. The workaround requires nothing from you but a re-generate/re-compile so if you decide to stay with 9059, no harm done.&lt;br /&gt;Apparently this was not in the original 9059 that I was given several months back. It was a change that resulted from an earlier bug report by another developer and introduced into the most recent 9059 general pre-release version.&lt;br /&gt;&lt;br /&gt;BTW, my workaround works with earlier versions of C6 too so there's no harm in having it. &lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  November 20, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6197428204280787590?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6197428204280787590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6197428204280787590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6197428204280787590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6197428204280787590'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/11/clarion-639059-caution.html' title='Clarion 6.3.9059 Caution'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1528181503731095617</id><published>2008-11-20T15:41:00.006-05:00</published><updated>2008-11-20T15:45:54.123-05:00</updated><title type='text'>CHT Build Update 12D1.02 Posted Nov 18, 2008</title><content type='html'>We've posted build update 12D1.02 as of 6:30 PM EST Nov 18, 2008 &lt;br /&gt;&lt;br /&gt;Among other things this has two new demo apps called:&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtapplications.html#hndforumviewerlite_app"&gt;HNDFORUMVIEWERLITE.APP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtapplications.html#hndgmailexplorer_app"&gt;HNDGMAILEXPLORER.APP&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The template used by these two apps, &lt;b&gt;HandyCOMInternetExplorerControl&lt;/b&gt;, 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&lt;br /&gt;interface without the developer having to do any embedding.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;And we've added the first of several new templates to take advantage of this with a template called: &lt;b&gt;SetExplorerBrowseQueryBuilderBindings&lt;/b&gt;. 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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  November 18, 2008&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1528181503731095617?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1528181503731095617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1528181503731095617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1528181503731095617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1528181503731095617'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/11/cht-build-update-12d102-posted-nov-18.html' title='CHT Build Update 12D1.02 Posted Nov 18, 2008'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3662973790765281894</id><published>2008-11-10T21:43:00.003-05:00</published><updated>2008-11-10T21:46:19.589-05:00</updated><title type='text'>CHT Build 12D1.01 Released Today</title><content type='html'>Hi All...&lt;br /&gt;&lt;br /&gt;I've just posted Build 12D1.01.&lt;br /&gt;Primarily this includes the necessary template modifications to give you 100% (more or less) compatibility with C7 Appgen.&lt;br /&gt;&lt;br /&gt;There are still some issues but these are C7 issues that I've been assured are being handled in upcoming C7's.&lt;br /&gt;&lt;br /&gt;The issues are:&lt;br /&gt;First: &lt;br /&gt;EXTRACT() isn't working correctly when there's an exclamation mark in the extraction string. &lt;br /&gt;This one is a minor problem as I've written a template subroutine to perform the work that this function normally does. &lt;br /&gt;&lt;br /&gt;Second:&lt;br /&gt;#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. &lt;br /&gt;&lt;br /&gt;Third:&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Fourth:&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Fifth:&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href=%22http://www.cwhandy.ca/index.html%22&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3662973790765281894?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3662973790765281894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3662973790765281894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3662973790765281894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3662973790765281894'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/11/cht-build-12d101-released-today.html' title='CHT Build 12D1.01 Released Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8818988100632583129</id><published>2008-11-09T11:28:00.006-05:00</published><updated>2008-11-09T11:35:54.211-05:00</updated><title type='text'>Clarion 7 News</title><content type='html'>We haven't had a lot of time to devote to C7 this past week or two but we're making progress.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href=%22http://www.cwhandy.ca/index.html%22&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8818988100632583129?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8818988100632583129/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8818988100632583129' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8818988100632583129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8818988100632583129'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/11/we-havent-had-lot-of-time-to-devote-to.html' title='Clarion 7 News'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3284677311790496926</id><published>2008-10-24T11:02:00.003-04:00</published><updated>2008-10-24T11:06:07.616-04:00</updated><title type='text'>Build 12D1.00 Available For Download</title><content type='html'>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.&lt;br /&gt;A few early highlights:&lt;br /&gt;&amp;bull;&amp;nbsp;Compile Manager uses a new file format to add some additonal fields. The file will auto-convert when you access it.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;Compile Manager now has a user-configurable feature to produce HTML information from your apps for a new server called HNDTEAMDOCSERVER.APP.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;Compile Manager can optionally assign processor affinity for dual processor machines.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;Compile Manager is able to optionaly launch your favorite code signing utility.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;There are some new app documentation templates to accompany the Team Documentation Server.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;CHT templates now will register without error in C7.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;C6 to C7 cross installer performs a complete cross install.&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp;More information later.&lt;br /&gt;&lt;br /&gt;  Cheers...&lt;br /&gt;  Gus Creces &lt;br /&gt;  The Clarion Handy Tools Page&lt;br /&gt;  &lt;a href="http://www.cwhandy.com"&gt;www.cwhandy.com&lt;/a&gt;&lt;br /&gt;  &lt;a href="MAILTO:support@cwhandy.com"&gt;support@cwhandy.com&lt;/a&gt;&lt;br /&gt;  October 23, 2008&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3284677311790496926?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3284677311790496926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3284677311790496926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3284677311790496926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3284677311790496926'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/10/build-12d100-available-for-download.html' title='Build 12D1.00 Available For Download'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5553630739186220303</id><published>2008-10-07T14:04:00.001-04:00</published><updated>2008-10-07T14:04:57.159-04:00</updated><title type='text'>Demo Clarion.NET Project  For You</title><content type='html'>For anyone I've forgotten to include in my email that may be interested, the Clarion.NET project details are as follows:&lt;br /&gt;&lt;br /&gt;Link to the file: &lt;a href="http://www.cwhandy.com/setup/chtdemonetzipper_4125.zip"&gt;chtdemonetzipper_4125.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;i&gt;c:/clarion#/chtdemonetzipper/chtdemonetzipper.sln&lt;/i&gt;. &lt;br /&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5553630739186220303?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5553630739186220303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5553630739186220303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5553630739186220303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5553630739186220303'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/10/demo-clarionnet-project-for-you.html' title='Demo Clarion.NET Project  For You'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1691555675796863106</id><published>2008-10-07T09:40:00.002-04:00</published><updated>2008-10-07T09:46:11.599-04:00</updated><title type='text'>Clarion.NET Build 7.0.4125 Released</title><content type='html'>I was pleased this past weekend to find notice of a new update for Clarion.NET (Clarion#) in my email inbox.&lt;br /&gt;&lt;br /&gt;Reinstallation of 7.0.4125 went without a hitch.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt; &lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1691555675796863106?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1691555675796863106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1691555675796863106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1691555675796863106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1691555675796863106'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/10/clarionnet-build-704125-released.html' title='Clarion.NET Build 7.0.4125 Released'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-413226038451103726</id><published>2008-10-06T19:37:00.004-04:00</published><updated>2008-10-07T09:39:01.794-04:00</updated><title type='text'>New Update Available 12C1.03</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;Here are some of the changes:&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;New Template HandyFileViewBuilder&lt;/h2&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;New Base Class Function SQLFillQueueFromView()&lt;/h2&gt;&lt;br /&gt;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.  &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;New Base Class Function DumpQueue()&lt;/h2&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;New Demo Application HNDSQL10.APP&lt;/h2&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Improvements to EmbedViewEx Template&lt;/h2&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Portuguese Dictionary Replaced And Tested&lt;/h2&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Bug Fixes&lt;/h2&gt;&lt;br /&gt;Any bug fixes reported in the last couple of months relating to 12C1.00, 12C1.01 and 121.03 are included here as well. &lt;br /&gt;&lt;br /&gt;&amp;bull; One that comes to mind is a browse reset issue reported by Robert Barton. Search on Robert's name in the CHT support forum &lt;a href="news.cwhandy.ca"&gt;news.cwhandy.ca&lt;/a&gt; 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. &lt;br /&gt;&lt;br /&gt;&amp;bull; 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. &lt;br /&gt;&lt;br /&gt;&amp;bull; Piotr Heidak reported a problem with the template-initiated opening query on ExplorerBrowse. That's been fixed and Piotr has confirmed it works. &lt;br /&gt;&lt;br /&gt;That's it for now. &lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;br /&gt;Message Posted From CHT Support Forum Client [V6.01.00]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-413226038451103726?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/413226038451103726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=413226038451103726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/413226038451103726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/413226038451103726'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/10/new-update-available-12c103.html' title='New Update Available 12C1.03'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5497525537144658893</id><published>2008-08-27T15:25:00.002-04:00</published><updated>2008-08-27T15:28:59.165-04:00</updated><title type='text'>Vista 64, VMWare, XP32, Clarion 6.3, CHT</title><content type='html'>This is probably not news to a number of you who are already set up this way and work with VMWare under Windows Vista 64.&lt;br /&gt;&lt;br /&gt;I bought a new laptop a few weeks back and decided on the recommendation of Jack Leininger at Fabtex ( a CHT customer) to buy a nice, compact 14 inch HP laptop with 4 gig of RAM and Windows 64 installed. I was going for maximum mobility here, not screen size so I asked specifically for the smaller screen size and a good, thin case. &lt;br /&gt;&lt;br /&gt;Again on Jack's recommendation I added VMWare and installed 32 Bit Windows XP as a working O/S to use with Clarion 6.3.&lt;br /&gt;&lt;br /&gt;That all went well and this arrangement is flawless. The Clarion installation and CHT in this environment run quickly, and efficiently. It's also a great way to multi-task with Clarion 6 and CHT Compile Manager in the mix, since you can minimize the 32 bit environment when it's busy and do some correspondence or other work back in the 64 bit environment or even in a second or third Virtual O/S set up this way. &lt;br /&gt;&lt;br /&gt;Windows Vista 64 has proven to be painless experience compared to earlier Vista 32 encounters. If you're into multi-tasking and 32 bit O/S variants  this is a great way to go. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;http://www.cwhandy.ca/&lt;br /&gt;http://news.cwhandy.ca/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5497525537144658893?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5497525537144658893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5497525537144658893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5497525537144658893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5497525537144658893'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/08/vista-64-vmware-xp32-clarion-63-cht.html' title='Vista 64, VMWare, XP32, Clarion 6.3, CHT'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8142082937962938657</id><published>2008-08-27T15:08:00.010-04:00</published><updated>2008-08-27T15:19:16.629-04:00</updated><title type='text'>CHT Build Update 12C1.01 Posted</title><content type='html'>We've just updated the 12C1.00 build to 12C1.01.&lt;br /&gt;&lt;br /&gt;This includes some necessary changes for better backward compatibility to C6.1 and C6.2. Perhaps a waste of time since it appears there are only 2 of you in our subscriber base still using these older Clarion 6 builds.&lt;br /&gt;&lt;br /&gt;It also includes some unfinished business with some of the SQL demo apps, particularly &lt;b&gt;HNDSQL9.APP&lt;/b&gt; which uses ListBoxBrowseExtender, plus two of the new SQL extensions to build a browse application very similar to a HandyMarkerBrowse (like HNDSQL8.APP) but without using an ABC browse at all. All aspects of filling the listbox are entirely under your control. This app was constructed by a combination of ABC and CHT templates &lt;i&gt;(ABC Window + ListBoxBrowseExtender + QueryparsingFilterControl)&lt;/i&gt; and a few hand-embeds. This browse does away with a lot of ABC code that slows data access and makes browses &lt;i&gt;waaaay&lt;/i&gt; more complex than they need to be.&lt;br /&gt;&lt;br /&gt;If you think this is useful to you, we're willing to formalize this approach into a single procedure template that lets you build a procedure like this without the hand-embedding. The procedure template will populate the necessary pieces for you and complete the embeds based on your completion of template prompts.&lt;br /&gt;&lt;br /&gt;On the other hand, if you don't think it offers anything new, we're also happy to leave this just as it is, an example of how to build an SQL browse without an ABC browse template. I'll wait to hear from you all.&lt;br /&gt;&lt;br /&gt;We've put off documenting C121.01 until these final changes were complete. At the same time I've personally been occupied with contract development work that takes up a lot of my time these days. I've got time this week, to get some of those 12C1.00/01 features to you now and perhaps a few new videos.&lt;br /&gt;&lt;br /&gt;We've taken SQL tracing even further in 12C1.00/01. You're now able to trace directly from a specific browse directly to CHT SQL Trace without turning on full SQL tracing. This new mode is called "Direct Trace". You can experiment with this using HNDSQL7.APP, HNDSQL8.APP and HNDSQL9.APP if you recompile them in debug mode. The browses in these apps will output directly to CHT SQL Trace if you put it in [DIRECT TRACE ON] mode.&lt;br /&gt;&lt;br /&gt;Also in HNDSQL7.APP and HNDSQL8.APP, take note of two alternative ways to fill the browses, particularly OBJ.SQLSelect().This method lets you fill an ABC browse queue using an SQL select statement. The method interfaces to the ABC method SetQueueRecord() for queue filling, in a manner that stores the VIEWPOSITION as required by all ABC browses.&lt;br /&gt;&lt;br /&gt;And in HNDSQL9.APP take note of a method called OBJ.SQLSelectQ() which fills your list box queue for you exclusive of an ABC browse being present. Take note also of a record fetch method used in this app called OBJ.SQLSelectRecord(). If you're familiar with SQL you'll find these new methods, and others I've added to be more compact and more transparent than standard ABC file object syntax.&lt;br /&gt;&lt;br /&gt;The latest docs can be found in your installation or here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates.html"&gt;CHT Templates By Category&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtapplications.html"&gt;CHT Demo Applications&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates2008.html"&gt;CHT Templates New/Revised In 2008&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://www.cwhandy.ca/&lt;br /&gt;http://news.cwhandy.ca/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8142082937962938657?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8142082937962938657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8142082937962938657' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8142082937962938657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8142082937962938657'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/08/cht-build-update-12c101-posted.html' title='CHT Build Update 12C1.01 Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5583385982054678580</id><published>2008-08-15T08:27:00.006-04:00</published><updated>2008-08-15T08:34:29.240-04:00</updated><title type='text'>Clarion 7 Application Generator Preview</title><content type='html'>It looks like we're finally getting close to a C7 version with a working application generator. There's a video up on SV's blog site showing the C7 Appgen in action.&lt;br /&gt;&lt;br /&gt;If you haven't seen this you should take a look here: &lt;br /&gt;&lt;a href="http://softvelocity.cachefly.net/media/appgen/AppGen1.html"&gt;C7 Appgen Video&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you watch this, keep in mind that C7 And Clarion.NET share IDEs, which implies that there already exists a template generator for Clarion.NET - &lt;em&gt;even though there probably aren't any templates yet that generate Clarion # code&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;We're releasing build 12C1.00 on the weekend and most of the pre-compiled utility apps (CHT Compile Manger, CHT Colorizer etc.) in this build are pre-compiled in C7. We do this just to confirm in your mind that CHT classes are ready to be used as/is in the context of C7. &lt;br /&gt;&lt;br /&gt;And by corollary, if the C7 Appgen interprets C6 templates correctly as in the video, we can soon begin testing our suite of demo apps entirely in the context of C7.&lt;br /&gt;&lt;br /&gt;Cheers....&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5583385982054678580?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5583385982054678580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5583385982054678580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5583385982054678580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5583385982054678580'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/08/clarion-7-application-generator-preview.html' title='Clarion 7 Application Generator Preview'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6306576242417758444</id><published>2008-07-02T21:12:00.004-04:00</published><updated>2008-07-02T21:19:32.304-04:00</updated><title type='text'>About Optimize For SQL Option</title><content type='html'>Just a reminder that those of you with SQL apps, should be taking a look at the JULY 1, 2008 what's new page: &lt;a href="http://www.cwhandy.ca/july2008.htm"&gt;What's New July 2008&lt;/a&gt; to read about the new option switch called &lt;b&gt;"Optimize For SQL"&lt;/b&gt; found on the &lt;b&gt;"Use SQL"&lt;/b&gt; dialog of ExplorerBrowse and HandyMarkerBrowse (soon als implemented on LocatorOverrideControl). &lt;br /&gt;&lt;br /&gt;For a while now, I'd been noticing that under certain conditions C6 SQL apps produced more than one SELECT statement per browse query or per browse order change. In theory to change browse order to descending from ascending, one would issue the identical select statement with a DESC following the fields in the ORDER BY clause. &lt;br /&gt;&lt;br /&gt;What I was seeing, in reality, was this:&lt;br /&gt;&amp;bull; When the browse queue was empty, the browse produced generally one or two select statements per new query, one select statement to issue the select that filled the browse and one select to reget the currently selected record into the record buffer (to honour the new selection event). &lt;br /&gt;&lt;br /&gt;&amp;bull; When the browse queue had records already in it, the browse produced generally 3 or 4 select statements per new query. One select statement to fill the browse forwards from the currently selected record; One select statement to fill the browse backward from the currently selected record; One select statement to fetch the currently selected record into the record buffer. And sometimes a fourth select was issued if the fill-forward or fill-backward phases, bumped into the end of file or beginning of file condition. This wonky behaviour is supposed to be controlled by setting the RetainRow driver flag off in the ABC classes. Even SV's documentation recommends that retain row be turned off for SQL, yet the current crop of C6's behave as if retain row is on even when it's off. That behaviour is hard coded into the ABC BrowseClass INIT method. &lt;br /&gt;&lt;br /&gt;In earlier iterations of Clarion, I'd spent quite a lot of time getting Clarion ABC browses to "cut the chatter" to the point that a single select per browse query or per browse order change was issued. I don't know when C6 ABC classes and templates changed to wrestle away the well controlled ABC-browse situation we'd had till that point, but they did, somewhere along the way. &lt;br /&gt;&lt;br /&gt;The "Optimize For SQL" switch on our browse templates, lets you optimize your browse so that only a single select is issued for any new browse condition such as a query change or an order change. I suggest you compare this yourself on your own SQL apps, using HNDSQLTRACE.APP to trace various browses with and without the "Optimize For SQL" switch turned on. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6306576242417758444?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6306576242417758444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6306576242417758444' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6306576242417758444'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6306576242417758444'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/07/about-optimize-for-sql-option.html' title='About Optimize For SQL Option'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2236251421309924508</id><published>2008-07-02T21:05:00.005-04:00</published><updated>2008-07-02T21:11:22.167-04:00</updated><title type='text'>About HNDSQLTRACE.APP 2.01</title><content type='html'>Earlier today I uploaded HNDSQLTRACE Version 2.01. This has the following new features:&lt;br /&gt;&lt;br /&gt;&amp;bull; The ability to have a File Based Trace (will trace any C6 Clarion SQL App).&lt;br /&gt;&lt;br /&gt;&amp;bull; The ability to have Direct-From-App Trace (requires other CHT template applied to traget procedure). There's a menu item to set to one or the other of the above two settings.&lt;br /&gt;&lt;br /&gt;&amp;bull; The buttons have been removed from the tool bar and have been replaced with menus. Three of the key menu items have now been given System Hot Keys. F9 (Clear) F10 (Read Next) F11 (Minimize/UnMinimize). The advantage of these system hot keys is that the trace app does not have to have focus for you to apply these commands to it. &lt;br /&gt;&lt;br /&gt;&amp;bull; There's an entry control now on the tool bar that when doing a file trace, any table name entered in here is filtered out of the trace, so that if you have SQL stuff appearing in the trace, say from something like INIFile, you can have the trace extract them by entering INIFile in the field provided.&lt;br /&gt;&lt;br /&gt;At the moment, the Direct-From-APP trace is transmitted only when you apply &lt;i&gt;HandyQueryTracingButton_EXPB&lt;/i&gt; (for ExplorerBrowse) or &lt;i&gt;HandyQueryTracingButton_HNDMB&lt;/i&gt; (for HandyMarkerBrowse) on your browse. You can see how I've applied these, and test the Direct-From-App tracing feature on demo apps HNDSQL7.APP and HNDSQL8.APP.&lt;br /&gt;&lt;br /&gt;In the next iteration, perhaps as early as the beginning of next week, I'm going to add a dialog on our browse templates that let's you opt to have the browse intercept trace on/off commands directly from HNDSQLTRACE. A hot key in the trace app will send a command to the Browse Procedure to have it turn on it's tracing communications and to start talking to HNDSQL trace. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2236251421309924508?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2236251421309924508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2236251421309924508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2236251421309924508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2236251421309924508'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/07/about-hndsqltraceapp-201.html' title='About HNDSQLTRACE.APP 2.01'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5230423659775535399</id><published>2008-07-01T08:58:00.003-04:00</published><updated>2008-07-01T09:02:18.553-04:00</updated><title type='text'>CHT Changes Posted To WEBUPDATER July 1, 2008</title><content type='html'>We've posted another update on the road to Build 12C1.00 at the end of July, 2008.&lt;br /&gt;&lt;br /&gt;This adds another new locator: &lt;i&gt;HandyMarkerBrowseLocatorControlEx&lt;/i&gt; which has the same features for HandyMarkerBrowse that we introduced last time for ExplorerBrowse. There are also two new demo applications that apply these locators. They are HNDSQL7.APP - &lt;i&gt;illustrating ExplorerBrowseLocatorControlEX&lt;/i&gt; - and HNDSQL8.APP - &lt;i&gt;illustrating HandyMarkerBrowseLocatorControlEX&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The new demo applications implement an optional new feature available on the &lt;b&gt;"Use SQL"&lt;/b&gt; tab of the two templates, ExplorerBrowse and HandyMarkerBrowse. This feature optimizes the SQL select statement and cuts down the chatter. Use HNDSQLTRACE.APP on the two demo apps and you'll see the difference when you run the trace first with the &lt;b&gt;"Optimize For SQL?"&lt;/b&gt; switch on and then recompile and trace with the switch off. Let us know what you think, this totally eliminates the secondary selects that Clarion browses normally perform as they try and backfill to the currently selected record.&lt;br /&gt;&lt;br /&gt;HNDSQLTRACE.APP has been changed. Compile and use HNDSQLTRACE.APP to test the two new apps by setting HNDSQLTRACE so that &lt;b&gt;"Direct Trace On/Off"&lt;/b&gt; is checked.&lt;br /&gt;&lt;br /&gt;This new feature lets you drop a HandyQueryTracingButton_EXPB or HandyQueryTracingButton_HNDMB directly on your browse, as we have in HNDSQL7.APP and HNDSQL8.APP, respectively. These button templates cause the procedure on which they're applied to communicate directly with HNDSQLTRACE.APP.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;gcreces@cwhandy.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5230423659775535399?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5230423659775535399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5230423659775535399' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5230423659775535399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5230423659775535399'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/07/cht-changes-posted-to-webupdater-july-1.html' title='CHT Changes Posted To WEBUPDATER July 1, 2008'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-5326274324189354703</id><published>2008-06-29T09:23:00.010-04:00</published><updated>2008-06-29T09:36:23.856-04:00</updated><title type='text'>CHT Changes Posted To WEBUPDATER June 27, 2008</title><content type='html'>We posted some changes to CHT WEBUPDATER June 27, 2008. This was not done as a version change for the time being, as the basic CHT classes and templates have not changed from the 12B1.01 which you've had since May 22, 2008.&lt;br /&gt;&lt;br /&gt;At least until the end of July 2008, which is our target date for the release of build 12C1.00, there are going to be fairly frequent periodic updates without version number changes in order to introduce some new templates into the system so that an SQL project I'm working on can make use of them.  You can feel comfortable downloading this un-reversioned update since it does not affect existing templates and classes that you've already been using. And it will give you a chance, if you're interested, in getting a preliminary look at some new templates,many of which are going to be targeted at SQL.&lt;br /&gt;&lt;br /&gt;In this upload is a new template called ExplorerBrowseLocatorEx. This is an expanded version of ExplorerBrowseLocator (hence the "EX" suffix) that adds some features: &lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp; A "Go" button beside the locator to execute the locator. (Tab still works as before).&lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp; An automatic pass-through of the browse's "Data With Query Only" feature when the locator is set up as a filtering locator. This does work in the previous locator, but not if you've embedded your own filter into the browse. This new control lets you embed your own filter in the browse's ApplyFilter method, and still enforce "Data With Query Only" so that nothing displays unless the locator has been used. &lt;br /&gt;&lt;br /&gt;&amp;bull;&amp;nbsp; There is a more sophisticated algorithm for "Drill-Down" in this locator, including a "bread-crumbs" string control that displays the current query, either as SQL or as CHT Query language. This works like "QBE", or "Query By Example" if you set the locator for "Drill-Down" since you can filter on multiple columns one after the other just by clicking on them and entering a new value in the locator. The new query is ANDed to the previous one until you click the Clear button.&lt;br /&gt;&lt;br /&gt;Also coming for this new locator - when in filtering mode - is the ability to define on a column-by-column basis what the query keyword is for that column. So, a date or numeric column can use EQUAL while a text column can use CONTAINS.&lt;br /&gt;&lt;br /&gt;There will be an equivalent locator for HandyMarkerBrowse early in July.&lt;br /&gt;&lt;br /&gt;We're also working on a new SQL trace feature for CHT browses using HNDSQLTRACE.APP. This isn't available yet in the June 27th posting. The next HNDSQLTRACE.APP will have a filter feature that lets you trace a particular table or exclude a particular table. You'll also be able to direct output from our other SQL trace features, for example &lt;i&gt;HandyQueryTracingButton_EXPB&lt;/i&gt; into HNDSQLTRACE.APP and a new option on that template lets you opt to see the entire SQL select including WHERE and ORDER BY.&lt;br /&gt;&lt;br /&gt;More SQL-related features coming. I'll tell you about those as they are introduced and uploaded for you to try. We're about ready to release an "Experimental" switch on all CHT browse extension templates. This feature optimizes your CHT-extended ABC browse for SQL by overriding some of the ABC browse features that were really intended for ISAM tables and get in the way of SQL.&lt;br /&gt;&lt;br /&gt;We're calling this "Experimental" because it's not default behavior, you have to turn this setting on to invoke the features set. We're going to let you try this feature on your browses for a while by way of an "experiment". Primarily it reduces the amount of SQL "chatter" that ABC browses - &lt;i&gt;especially page loaded browses&lt;/i&gt; - tend to produce and slows them down. We'll be looking for your feedback on the impact of this on your SQL browses and, of course, we're prepared to take your questions and suggestions for improvements.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://www.cwhandy.ca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-5326274324189354703?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/5326274324189354703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=5326274324189354703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5326274324189354703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/5326274324189354703'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/06/cht-changes-posted-to-webupdater-june.html' title='CHT Changes Posted To WEBUPDATER June 27, 2008'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7042707816868356443</id><published>2008-06-29T09:18:00.004-04:00</published><updated>2008-06-29T09:22:41.534-04:00</updated><title type='text'>New SQL Trace Tool - HNDSQLTRACE.APP</title><content type='html'>We've got a new SQL trace tool for you to try. It's called HNDSQLTRACE.APP. This application is designed to help you with your SQL application development projects by assisting with easy SQL tracing. &lt;br /&gt;&lt;br /&gt;Start tracing by configuring the specific driver(s) used by your SQL application followed by a click on the "Minimize" button. Once HNDSQLTRACE.APP starts, then start your SQL application. &lt;br /&gt;&lt;br /&gt;Navigate in your SQL application to the specific area to be tested and bring HNDSQLTRACE.APP back up using the windows task bar icon menu provided. &lt;br /&gt;&lt;br /&gt;When HNDSQLTRACE.APP re-appears all SQL statements executed to that point are displayed in reverse chronological order, with newest statements at the top. From this point forward, to trace specific actions, click the "Clear" button and interact briefly with your SQL application. Click the "Read Next" button to view the most recent SQL activity raised by your application. Repeat as necessary. &lt;br /&gt;&lt;br /&gt;This is the first of a number of SQL-related features and improvements you'll see added to CHT in the upcoming months. There's a video explaining how to use it located on our Video Education page. &lt;br /&gt;&lt;br /&gt;For a direct link to the video click here:  &lt;a href="http://www.cwhandy.ca/chthndsqltracevideo.html"&gt;CHT SQL Trace&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces &lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://www.cwhandy.ca&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7042707816868356443?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7042707816868356443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7042707816868356443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7042707816868356443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7042707816868356443'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/06/new-sql-trace-tool-hndsqltraceapp.html' title='New SQL Trace Tool - HNDSQLTRACE.APP'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6079307097195956284</id><published>2008-05-24T10:59:00.004-04:00</published><updated>2008-05-24T11:02:56.982-04:00</updated><title type='text'>Build 12B1.01 - Update Posted</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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 &lt;i&gt;About&lt;/i&gt; 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: &lt;a href="http://www.cwhandy.ca/hndsqltrace.html"&gt;HNDSQLTRACE.APP Information&lt;/a&gt; and &lt;a href="http://www.cwhandy.ca/chthndsqltracevideo.html"&gt;HNDSQLTRACE.APP Video&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://www.cwhandy.ca/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6079307097195956284?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6079307097195956284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6079307097195956284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6079307097195956284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6079307097195956284'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/build-12b101-update-posted.html' title='Build 12B1.01 - Update Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2601204993903274357</id><published>2008-05-16T01:35:00.000-04:00</published><updated>2008-05-16T01:36:34.386-04:00</updated><title type='text'>Build 12B1.00 - Minor Update Posted</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Terry I've posted with this update the HNDSTRLB.CLW changes that you requested in these two functions: &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;HndStrLib.CStringToWideString PROCEDURE (*CSTRING xIn, *STRING xpOut, LONG xCodePage=0)&lt;br /&gt;HndStrLib.WideStringToCString PROCEDURE (LONG xlWide, *CSTRING xOut, LONG xCodePage=0)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;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: &lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;HND_CP_UTF8         EQUATE (65001)       ! UTF-8 translation&lt;br /&gt;HND_CP_GB2312       EQUATE  (936)        ! Chinese Simplified&lt;br /&gt;HND_CP_Big5         EQUATE  (950)        ! ANSI/OEM Traditional Chinese (Taiwan; Hong Kong SAR, PRC); Chinese Traditional (Big5)&lt;br /&gt;&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;You should be able to use any code-page number or combination in the 3rd parameter as required by the language in use.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Take a look also at HNDCMP.EXE - the CHT Compile Manager - since it now implements a couple of the new templates: HANDYMARKERBROWSEROWMOVEBUTTONS and HANDYMARKERBROWSERECORDTAGGEREX.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2601204993903274357?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2601204993903274357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2601204993903274357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2601204993903274357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2601204993903274357'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/build-12b100-minor-update-posted.html' title='Build 12B1.00 - Minor Update Posted'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-2867631117389628833</id><published>2008-05-14T21:34:00.010-04:00</published><updated>2008-05-14T22:17:39.088-04:00</updated><title type='text'>So Much For Global Warming...</title><content type='html'>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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Keep an open mind as you watch Robert Felix's video:&lt;br /&gt;&lt;a href="http://www.cwhandy.ca:23/felix.wmv"&gt;Video: Robert Felix: Not By Fire But By Ice&lt;/a&gt; and if you're not convinced, read his book &lt;a href="http://www.iceagenow.com/Orderboo.htm"&gt;Book: Not By Fire But By Ice&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Some links to his references:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/List_of_Expanding_Glaciers.htm"&gt;http://www.iceagenow.com/List_of_Expanding_Glaciers.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Greenland_Ice_Cap_Growing_Thicker.htm"&gt;http://www.iceagenow.com/Greenland_Ice_Cap_Growing_Thicker.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/18000_buried_in_one_city.htm"&gt;http://www.iceagenow.com/18000_buried_in_one_city.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Jason_satellite_indicates_global_cooling.htm"&gt;http://www.iceagenow.com/Jason_satellite_indicates_global_cooling.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Cold_temps_delay_planting_in_Idaho.htm"&gt;http://www.iceagenow.com/Cold_temps_delay_planting_in_Idaho.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Great_videos_debunking_global_warming.htm"&gt;http://www.iceagenow.com/Great_videos_debunking_global_warming.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Harris-Mann_Seminar.htm"&gt;http://www.iceagenow.com/Harris-Mann_Seminar.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Geophysicist_an_ice_age_cometh.htm"&gt;http://www.iceagenow.com/Geophysicist_an_ice_age_cometh.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iceagenow.com/Global_temperatures_drop_precipitously.htm"&gt;http://www.iceagenow.com/Global_temperatures_drop_precipitously.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;-- &lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;http://news.cwhandy.ca&lt;br /&gt;http://www.cwhandy.ca/chtvideoeducationfree.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-2867631117389628833?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/2867631117389628833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=2867631117389628833' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2867631117389628833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/2867631117389628833'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/so-much-for-global-warming.html' title='So Much For Global Warming...'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-902606430750439935</id><published>2008-05-14T19:23:00.005-04:00</published><updated>2008-05-14T19:33:50.296-04:00</updated><title type='text'>I'm Back From Florida</title><content type='html'>I'm back from Florida with a really good tan and some great memories.&lt;br /&gt;&lt;br /&gt;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!&lt;br /&gt;&lt;br /&gt;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". &lt;br /&gt;&lt;br /&gt;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! &lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Laura, my wife, stayed behind to look after Gwennie until Friday when the WES convention is over and they all come home. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Thanks to all of you for holding off on the hard questions while I was away.&lt;br /&gt;&lt;br /&gt;I've got a couple of bug fixes going up for 12B1.00 by the weekend. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-902606430750439935?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/902606430750439935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=902606430750439935' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/902606430750439935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/902606430750439935'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/im-back-from-florida-with-really-good.html' title='I&apos;m Back From Florida'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4226207001247453828</id><published>2008-05-01T17:44:00.003-04:00</published><updated>2008-05-01T17:47:28.619-04:00</updated><title type='text'>Gus Taking A Holiday May 2 to May 14, 2008</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4226207001247453828?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4226207001247453828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4226207001247453828' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4226207001247453828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4226207001247453828'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/gus-taking-holiday-may-2-to-may-14-2008.html' title='Gus Taking A Holiday May 2 to May 14, 2008'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3874172958547420284</id><published>2008-05-01T17:37:00.008-04:00</published><updated>2008-05-01T19:22:28.258-04:00</updated><title type='text'>Build 12B1.00 - Released Today</title><content type='html'>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:&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&amp;bull; A font change in HNDFSYNC.APP improves record editing in edit-in-place mode. The earlier font made edit fields difficult to read.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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).&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; I fixed CHT Scripter's "Local Server" function when the server type was set to "Type 3". This was shortening the window too much.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&amp;bull; There's a new template called EmbedAppHookFunctions which is illustrated in HNDSETUP.APP.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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 &lt;b&gt;HPROP:MaxUploadNoSessionCheck&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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.&lt;br /&gt;&lt;br /&gt;&amp;bull; 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 &lt;i&gt;HandyMarkerBrowseRowMoveButtons&lt;/i&gt;. 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.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Build 12B1.00 - Important Links&lt;/h2&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates.html"&gt;Summary Descriptions With Index- CHT Templates&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtapplications.html"&gt;Summary Descriptions With Index - CHT Demo Applications&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chttemplates2008.html"&gt;Summary Descriptions With Index - CHT Templates New In 2008&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/presentcomponents.htm"&gt;About The Clarion Handy Tools&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtclasses.html"&gt;CHT Class Libraries With Links To Headers&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/chtvideoeducationfree.htm"&gt;CHT Video Education Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3874172958547420284?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3874172958547420284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3874172958547420284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3874172958547420284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3874172958547420284'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/05/build-12b100-released-today.html' title='Build 12B1.00 - Released Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4198840465112872202</id><published>2008-04-14T18:35:00.005-04:00</published><updated>2008-04-14T19:46:08.714-04:00</updated><title type='text'>UpComing Build 12B1.00 - Advance Comments</title><content type='html'>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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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 &lt;i&gt;will be some server configuration impact&lt;/i&gt; 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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;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. &lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href=%22http://www.cwhandy.ca/index.html%22&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4198840465112872202?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4198840465112872202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4198840465112872202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4198840465112872202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4198840465112872202'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/04/upcoming-build-12b100-advance-comments.html' title='UpComing Build 12B1.00 - Advance Comments'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4609582398812415128</id><published>2008-03-15T12:35:00.006-04:00</published><updated>2008-03-15T13:20:10.577-04:00</updated><title type='text'>New (Unplanned) Features Coming To CHT</title><content type='html'>Last week, I made a deal to buy unrestricted source code for GCal and GCalc from Dave Hlavac who purchased the rights for these products from Gitano. While this was not in our plans specifically, the opportunity came up and we made an offer which Dave accepted. &lt;br /&gt;&lt;br /&gt;In our January forward plans I did make the following statement which underlines the intent of this code-rights purchase and will continue throughout the year. So, if you have something of worth you'd like to sell or contribute to CHT, or if you know someone who might also be interested in doing this please feel free to discuss it with me via private email (gcreces@sympatico.ca) or skype me (CHTHandyMan).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;FROM OUR JANUARY 2008 WHAT'S NEW PAGE&lt;br /&gt;While we've always done most of the development work in CHT ourselves, we're keenly interested in expanding CHT by incorporating classes and templates you've created or feel may make a contribution to the tool kit or to Clarion developers in general. While offering your creation freelance (free of charge or value priced) to the Clarion community may seem like a generous or perhaps lucrative thing to do, our experience is that there's more of the "generous" than of the "lucrative" to be found in most Clarion 3rdparty undertakings.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;We do not have rights to the GCAL and GCALC brand names, nor are we interested in having them or maintaining them. We won't even market our code-adaptations as separate products per-se. Dave will continue to market these products under those names himself or sell them forward, however he sees fit to do. &lt;br /&gt;&lt;br /&gt;CHT, however, has purchased unrestricted rights to incorporate and adapt the source code for these two products into the CHT tool kit and you'll get them as part of CHT at no extra charge as long as you're a paid-up subscriber. That's how CHT's all-in subscription plan works. You get everything for one low, annual subscription price. &lt;br /&gt;&lt;br /&gt;Since both ex-Gitano products are done in a procedural style, meant to be sold as DLL's, I've begun to adapt them into source-OOP format similar to that used in our other 130 or so OOP libraries. We will, of course, be adding our own template interface to these OOP libraries when they've been adapted. &lt;br /&gt;&lt;br /&gt;In the past week, I spent 1 1/2 days adapting &lt;i&gt;just one&lt;/i&gt; calculator for our own use and there are 9 or 10 of them in the set. I wondered at the time, whether it might not have been just as expedient to have built them from scratch. I'll reserve judgement on that as I work through the rest of the set. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href=%22http://www.cwhandy.ca/index.html%22&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4609582398812415128?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4609582398812415128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4609582398812415128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4609582398812415128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4609582398812415128'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/03/new-unplanned-features-coming-to-cht.html' title='New (Unplanned) Features Coming To CHT'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8890801303462103265</id><published>2008-03-11T18:30:00.003-04:00</published><updated>2008-03-14T08:20:25.465-04:00</updated><title type='text'>New Sub-Build 12A1.03 Released Today</title><content type='html'>We've just released a new sub-build numbered 12A1.03. This is the third update to our first-quarter-of-2008 build (12A1). If you're a CHT subscriber you can start your WEBUPDATER from the folder called "The Clarion Handy Tools" and update your tool kit with the latest features. &lt;br /&gt;&lt;br /&gt;I'm just in the process of updating our CHT forum members with all that's new in this build update. On completing that I'll post some highlights here and on our &lt;a href="http://www.cwhandy.ca/march2008.htm"&gt;March 2008 What's New&lt;/a&gt; page. &lt;br /&gt;&lt;br /&gt;While there are some cool new features in this build update, there are some very extensive additions coming to CHT in the next build, 12B1.00. That build, all things being equal, will hit the streets early in April 2008. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8890801303462103265?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8890801303462103265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8890801303462103265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8890801303462103265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8890801303462103265'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/03/new-sub-build-12a103-release-today.html' title='New Sub-Build 12A1.03 Released Today'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-4719711123405580828</id><published>2008-03-01T11:23:00.008-05:00</published><updated>2008-03-01T12:33:18.579-05:00</updated><title type='text'>The IDEs of March</title><content type='html'>Forgive the bad pun. I'm not talking about March 15, the day Julius Caesar was murdered by his friend Brutus. This is about the new Clarion 7 and Clarion .NET IDE's that we currently have available to us from &lt;a href="http://www.softvelocity.com"&gt;Softvelocity&lt;/a&gt; as of March 2008.&lt;br /&gt;&lt;br /&gt;Clarion 7 and Clarion .NET really are the same IDE, exhibiting different modes in the context of different code file extensions. Clarion 7 incorporates the capabilities of the Clarion language as it was (as it is) in Clarion 6.3 with a few refinements having to do with the visual interface of your application, fonts and entry controls for one. Clarion .NET, incorporates the capabilities of a whole new .NET Clarion language, which is being called Clarion# (Clarion Sharp).&lt;br /&gt;&lt;br /&gt;The IDE in use here, comes pretty much full-blown from &lt;a href="http://www.icsharpcode.net/OpenSource/SD/"&gt;SharpDevelop&lt;/a&gt;, an open source C# IDE for Microsoft .NET. &lt;br /&gt;&lt;br /&gt;At time of writing, these two Clarion IDE's, which are really one but which you pay for twice, depending on which compiler you want to use - the traditional Win32 Clarion language or the new Clarion# language - are versioned "7.0.0 Build 2957". I really should call it what it is. It's a single IDE not two IDE's, since they (it) really are (is) one and the same thing, but that would have made my title less clever: "The IDE of March???".&lt;br /&gt;&lt;br /&gt;This Clarion 7 IDE is pretty good. It should be, given the 8-year evolution that the SharpDevelop IDE has already gone through. That's not to say Softvelocity hasn't added a lot of value in its "Clarionization" effort. The dictionary editor is working now, that's a necessary pre-cursor to data application generation. There's also a nice graphic feature I'll probably never use called the "Data Diagrammer", they might have pushed that one off to the side and spent the resouces it took to build that, on the yet-to-appear code generation component. &lt;br /&gt;&lt;br /&gt;Despite the Clarionization effort, the Clarion IDE still isn't Clarion until there's a working application generator system, at least as good as the one presently in Clarion 6.3. As my personal profile on this blog suggests, I've used Clarion extensively over the years for its advanced code generation capabilities. Unless that's there, I might as well be using C# or Visual Basic because OOP languages have all started to resemble one another. Say what you will about the plethora of wizards, doodads, controls and drop-in-whatnot in Visual Studio, VS can't do code generation like Clarion's of the past.&lt;br /&gt;&lt;br /&gt;Let's hope that soon, before the IDEs of March again become the IDEs of November, we'll see an application-generation system for the new IDE. IDEs of April? IDEs of May?&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;&lt;a href="http://news.cwhandy.ca/"&gt;The Clarion Handy Tools Forum&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-4719711123405580828?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/4719711123405580828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=4719711123405580828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4719711123405580828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/4719711123405580828'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/03/ides-of-march.html' title='&lt;b&gt;The IDEs of March&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-1511015844897403300</id><published>2008-02-29T06:49:00.003-05:00</published><updated>2008-02-29T06:51:59.835-05:00</updated><title type='text'>Feb 29th, 2008 Last Day For Discount</title><content type='html'>It's Feb 29, 2008. Tonight at Midnight (EST) the price of our toolkit to new and expired subscribers goes back up to $499.00 CDN from its presently discounted price of $299.00 for the full product. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus M. Creces&lt;br /&gt;&lt;a href="http://news.cwhandy.ca/"&gt;The Clarion Handy Tools Forum&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-1511015844897403300?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/1511015844897403300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=1511015844897403300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1511015844897403300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/1511015844897403300'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/feb-29th-2008-last-day-for-discount.html' title='&lt;b&gt;Feb 29th, 2008 Last Day For Discount&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-3738531652025572237</id><published>2008-02-28T07:02:00.005-05:00</published><updated>2008-02-28T07:24:11.264-05:00</updated><title type='text'>Only 2 Days Left In 40% Discount Deal</title><content type='html'>We're down to the wire on our &lt;i&gt;new and expired subscriber discount&lt;/i&gt;. There's no better time to buy than right now. Just two days left before the discount ends.&lt;br /&gt;&lt;br /&gt;On Feb 29, 2008 Midnight (EST) the price of our toolkit to new and expired subscribers goes back up to $499.00 CDN from its presently discounted price of $299.00 for the full product. &lt;br /&gt;&lt;br /&gt;We're not ending our use of CDN (Canadian Dollars) for pricing. Our buck is pretty much on par with the US buck these days, give or take a cent, so there's no significant price difference due to currency.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;The Clarion Handy Tools Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-3738531652025572237?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/3738531652025572237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=3738531652025572237' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3738531652025572237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/3738531652025572237'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/only-2-days-left-in-40-discount-deal.html' title='&lt;b&gt;Only 2 Days Left In 40% Discount Deal&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-6622054199109162228</id><published>2008-02-25T20:45:00.010-05:00</published><updated>2008-02-28T07:27:33.054-05:00</updated><title type='text'>Compiling C6 Applications In C7</title><content type='html'>As we've been telling you, CHT works well in the context of C7.&lt;br /&gt;&lt;br /&gt;Using the Cross-Export facility built into our Compile Manager I exported the following apps from C6 to C7 with no code changes. These C7 (precompiled) versions can be downloaded and installed from here if you'd like to take a look. &lt;br /&gt;&lt;br /&gt;CHT Handy Zip'n Email: &lt;a href="http://www.cwhandy.com/setup/hndzipnemail.zip"&gt;HNDZIPNEMAIL.APP&lt;/a&gt;&lt;br /&gt;CHT Handy Zip'n FTP: &lt;a href="http://www.cwhandy.com/setup/hndzipnftp.zip"&gt;HNDZIPNFTP.APP&lt;/a&gt;&lt;br /&gt;CHT Handy Zip'n HTTP Post: &lt;a href="http://www.cwhandy.com/setup/hndhttpzipnpost.zip"&gt;HNDHTTPZIPNPOST.APP&lt;/a&gt;&lt;br /&gt;CHT Video Education Player: &lt;a href="http://www.cwhandy.com/setup/hndvideoeducation.zip"&gt;HNDVIDEOEDUCATION&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Our next challenge: to build the same apps with Clarion #. ;-)&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;A C7 Appraisal (Win32 Version) &lt;/h2&gt;&lt;br /&gt;&amp;bull; In my view C7 menus, while an improvement from ordinary C6 menus, are a step down from the menus that CHT has been able to give you in C6, for the last 4 or 5 years. &lt;br /&gt;&lt;br /&gt;&amp;bull; The window editor in C7 works, kind of, but in my view it sucks in many ways compared to the one in C6. Fine movements and accurate placement is not as good. You also cant size a window upward, which means if you need to make room at the top of a window, you need to move all the controls down. In C6 you can size the window upward making room at the top without moving any controls. This is progress? &lt;br /&gt;&lt;br /&gt;&amp;bull; The C7 compiler and editor work well, and code completion is now pretty solid.&lt;br /&gt;&lt;br /&gt;&amp;bull; Text box controls in C7 are not as controllable as they are in C6. Hiding the line around a flat, transparent text control in C7 is not possible unless you set its RTF property to true. &lt;br /&gt;&lt;br /&gt;&amp;bull; Font rendering is considerably better in C7 than in C6.&lt;br /&gt;&lt;br /&gt;All in all, definitely C7 (Win32) is presently not worth the long wait, so the final product had better be good.&lt;br /&gt;&lt;br /&gt;Tell me what you think. Are these C7 versions of the Utilities all that much "prettier" or more functional in C7 than in C6?&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;&lt;br /&gt;Gus Creces&lt;br /&gt;The Clarion Handy Tools Page&lt;br /&gt;&lt;a href=%22http://www.cwhandy.ca/index.html%22&gt;Visit Website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-6622054199109162228?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/6622054199109162228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=6622054199109162228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6622054199109162228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/6622054199109162228'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/as-weve-been-telling-you-cht-works-well.html' title='&lt;b&gt;Compiling C6 Applications In C7&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-111611666721492475</id><published>2008-02-23T21:04:00.007-05:00</published><updated>2008-02-23T21:12:02.566-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CHT On Vista'/><title type='text'>VISTA Installation Double Check</title><content type='html'>I had the occasion to do a fresh VISTA installation of Clarion and CHT the other night. That gave me an opprortunity to double check that our CHT installation works 100% out of the box on a freshly configured VISTA machine.&lt;br /&gt;&lt;br /&gt;After installing Clarion 6.3.9058 and registering only the ABCHAIN.TPL and the RTARPDF.TPL (both SV templates) and confirming that Clarion 6.3 was working correctly by compiling a few SV demo apps, I downloaded a copy of WEBUPDATER and set it with AutoContinue Checked (so I wouldn't have to click through all 6 steps manually). &lt;br /&gt;&lt;br /&gt;That installed the CHT toolkit on the new machine. I followed this up by starting HNDCMP.EXE (the CHT Compile Manager) and told it to compile ALL 120 CHT applications listed there. The whole set compiled and ran as expected without error or intervention from me. &lt;br /&gt;&lt;br /&gt;I normally do one of these full installs and full compiles before releasing a new version. But not always on a pristine, new machine. So there's always a margin of error if I forget something, since a file I've forgotten may already be there from a previous install, so only a new user would notice it missing. &lt;br /&gt;&lt;br /&gt;This brand new machine plus brand new Clarion installation is a nice double-check opportunity that only comes when the VISTA HOME variant that ships with HP machines irritates me enough to completely format its hard drive, and install a standard copy of VISTA BUSINESS. &lt;br /&gt;&lt;br /&gt;Don't know if any of you have ever purchased a machine from HP, but most of them are filled with HP crapplets that serve no purpose that I can fathom. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;The Clarion Handy Tools Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-111611666721492475?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/111611666721492475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=111611666721492475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/111611666721492475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/111611666721492475'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/vista-installation-double-check.html' title='&lt;b&gt;VISTA Installation Double Check&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-7204137882520530989</id><published>2008-02-23T20:48:00.006-05:00</published><updated>2008-02-23T21:08:12.570-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video About CHT And Web Installations'/><title type='text'>New Video About Building Web-Based Installs</title><content type='html'>There's a new video about how to use HNDSETUP.APP and HNDSINGLESETUP.APP to build web installs for your applications.&lt;br /&gt;&lt;br /&gt;This is a long video (too long, in fact) so I've not posted it to your CHT Video Education Players nor to your CHT Flash Help Player. But it is available in its present format at this URL: &lt;a href="http://www.cwhandy.ca/chtvideoeducationfree.htm"&gt;CHT Video Education&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Look for the link called "How To Build Web-Based Installs With CHT Installation Containerizer". &lt;br /&gt;&lt;br /&gt;I've decided to re-record this from scratch and make it shorter for inclusion with your Video and Flash players. &lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;The Clarion Handy Tools Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-7204137882520530989?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/7204137882520530989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=7204137882520530989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7204137882520530989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/7204137882520530989'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/new-video-about-building-web-based_23.html' title='&lt;b&gt;New Video About Building Web-Based Installs&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-750476646499710759.post-8290822029957887918</id><published>2008-02-23T20:41:00.008-05:00</published><updated>2008-02-23T21:34:01.286-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CHT New Subscription Discount Ending Soon'/><title type='text'>Tell Your Friends. CHT $299.00 New Subscription Price Deal Ending</title><content type='html'>You'll remember that in November 2007 we set up a "New Subscribers" campaign with an objective of adding 100 new subscribers. We began offering a $299.00 price for new subscribers to our toolkit.&lt;br /&gt;&lt;br /&gt;We've hit that 100 new subscriber target now, so that on Feb 29, 2008 Midnight (EST) the price of our toolkit to new subscribers reverts back up to $499.00 CDN. Renewal prices remain fixed at $250.00 CDN for 1 year or $375 CDN for two years. If you're presently an active subscriber and you know someone that's been thinking about getting a CHT subscription, we encourage you to remind them that this 40% discount is coming to an end. If they order because of you, and they tell us so, we'll send you the equivalent of $49.00 CDN for your effort (via Paypal) or we'll add 3 months to your current subscription, whichever you prefer.&lt;br /&gt;&lt;br /&gt;We're not ending our use of CDN (Canadian Dollars) for pricing. Our buck is pretty much on par with the US buck these days, give or take a cent, so there's no significant price difference due to currency.&lt;br /&gt;&lt;br /&gt;Cheers...&lt;br /&gt;Gus Creces&lt;br /&gt;&lt;a href="http://www.cwhandy.ca/index.html"&gt;The Clarion Handy Tools Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/750476646499710759-8290822029957887918?l=clarionhandytools.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clarionhandytools.blogspot.com/feeds/8290822029957887918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=750476646499710759&amp;postID=8290822029957887918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8290822029957887918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/750476646499710759/posts/default/8290822029957887918'/><link rel='alternate' type='text/html' href='http://clarionhandytools.blogspot.com/2008/02/tell-your-friends-cht-29900-new.html' title='&lt;b&gt;Tell Your Friends. CHT $299.00 New Subscription Price Deal Ending&lt;/b&gt;'/><author><name>CHTHandyMan</name><uri>http://www.blogger.com/profile/16144560245187910024</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='29' height='32' src='http://bp2.blogger.com/_B13Z6kRr2Z4/R8C9WlWiyUI/AAAAAAAAAA4/FN-0pvcjXTM/S220/gus6.png'/></author><thr:total>0</thr:total></entry></feed>
