I had really hoped to get this release out last week! As some of you know we are in the process of moving to Washington State and last week we had inspection and Thursday we got the contract for our house signed! We had a few things to fix and there isn't much time for us so I decided to get these things done. We all know what happens to the best plans of mice and men - they don't always work out;)

To cut a long story short, I finally got back to the Utilities this afternoon! I've been working on sorting out the install and creating a Build Automator project to do an automatic build.

One of the things I wanted to be able to do in the Build Automator project was to compile the help source into both the chm and pdf documents. This is easy to do with the Build Automator and I can now build both and set the build text variables in the Help and Manual project. I have also set the Build Automator project up to do a search and replace in all the source files once they are ready for deployment to put the build number in the souce. The demo apps will also include the same build number so now I can create a build and the version resources for all the deployed sources will always match!

Here is an example of a header from one of the class .clw files:

!! --------------------------------------------------------------------------------------
!! Icetips Utilities Source file
!! %%COPYRIGHT%%
!! This file can not be distributed in any way by anyone except Icetips Creative, Inc.
!! %%VERSIONINFO%%
!! --------------------------------------------------------------------------------------

When the text search and replace action is run on this it will replace the %%COPYRIGHT%% with "Copyright

I managed to finish the documentation and demo app for the Core class today. The Core class is the base class that all the other classes inherit from. I moved two methods up from the WindowsClass to it today. One that gets the last API error and one that returns a formatted string for the last api error. Those methods belonged in the core class, but were left out when I created the core class.

You can now view the Icetips Utilities documentation online at http://www.icetips.com/manuals/utilities/index.html

The SetFileAttrib method was also not complete so I finished it. It, along with the GetFileAttrib method, let you set or get the read-only, hidden and system properties of files, which comes in handy if you need to delete read-only files or hidden files that your software creates. With these methods you can gain full control over the file attributes.

The Core class also contains a new method, IsFileInUse which attempts to open a file with write access to determine if the file can be accessed. If it fails, the method deems the file to be in use by some other program or process.

One other new method in the Core class is the CreateGUID method. It creates a GUID which is useful for a lot of things. We use GUIDs extensively in the Build Automator to link XML files together.

IsFolder is another very useful new method to determine if a path is a valid path or if the last part of it is a filename. For example you could pass something like this to a method expecting either a path or a filename: 'C:\Temp\SomeThing' Does this mean that SomeThing is a path witout a trailing backslash or is it a file without extension, i.e. should it be 'C:\Temp\Something\' or C:\Temp\Something.' The IsFolder will return true if 'Something' is a folder and false if it is a file. This is important when using methods such as GetFilePart because if the trailing backslash is missing from a path it would interpret 'SomeThing' as a file and that could cause all kinds of problems.

Tomorrow morning I will build a new install for the classes, templates and demos and they will be out sometime tomorrow, depening on how much work I need to do on the install process. Now of course I have the Build Automator to help me with that process. Building the install for the Icetips Utilities was actually the thing that caused me to get the idea for the Build Automator in the first place.

Arnor Baldvinsson

This morning I got back to work on the Icetips Utilities. The first task was to clean up some template code that was supposed to be included but I had pulled out. I spent several hours on the documentation and reorganization of the demos. Instead of a single big demo app, there will be new demo apps for each class released as I finish document the class. This makes adding features to the classes and corresponding demonstration code to the demo apps easier.

I'm starting at the bottom and working my way up, starting on the Core class, which all the other classes inherit from. It has several basic functions that are used in almost every class, such as search and replace, filename splitting, etc. Part of the core class is already documented, but I have added a few new functions to it since the last time that I worked on the documentation. I should be done with the core class tomorrow along with the demo. Which means that it will be out in a new release on Thursday if nothing comes up.

I'm also starting on the core library in Visual C++. There are three main reasons why I'm doing it in Visual C++, rather than Clarion.

First is that it makes it completely independent of Clarion versions so the library could be used equally well with Clarion 7 as with Clarion 4. No more recompiles for each and every version of Clarion. I have already done this with some of my template code where I have moved it to a Borland C++ DLL. When I did that I realized I had over 20 DLLs for various versions of Clarion and various products. By using C I could take it down to a single DLL without any problems at all.

The second reason is that I find some things are just easier to deal with in C. I have access to all the api prototypes and all the structures and data types. I also have access to millions of web sites with examples in C!

The final reason is that it forces me to work with other languages than Clarion. I think it is very important to learn new things and a new language is a new tool to make my work easier. Many times I look at some C or VB code and realize that it can be coded much more simpler in Clarion. In other cases I look at some C code and realize that it would take 5 times as much code to get it done in Clarion. So, I try to pick the right tool for the task!

In the past month I have been playing a little bit with Delphi 2007 and I have a feeling that I may dig into it a bit more. Icetips Creative has a technology partnership with CodeGear/Embarcadero Technologies for our work with the Build Automator so we have access to their products and beta products and I'm looking forward to take a look at Delphi 2009.

But, that's getting a bit ahead of myself! Right now I'm concentrating on the Icetips Utilities. I will be working on them until the end of August and then I will be working on them along with design work for the new browse extensions which will replace Xplore.

Arnor Baldvinsson

August 2008

Icetips Utilities
In the next two weeks we are planning at least one release of the Icetips Utilities but there could be two. The first one will include new source files and updates to the documentation.

The second release will include more documentation updates and a new Clarion class that we developed for the Build Automator. This second build should also include some new templates including a template for global hotkeys.

We are also working on what we call the Icetips Core Library which is a growing library of functions written in Visual C++ and compiled into a dll. This is kind of our own runtime library where we will put functions that make sense to do in C rather than Clarion for various reasons, one for example is that we do not need to worry about prototypes or structures or stuff like that because that is all included.

Icetips Password Manager
This is a cool little tool that we have been using for a while. While not strictly a developer tool, it certainly helps keep track of all those logins and urls that we use every day to do our business. Certainly something that developers use like everybody else! We will release this tool into both subscriptions next week (August 18 - 23) and hope you will find it as useful as we do!

September 2008
As we get closer to September we will post more details about what we will be working on next month and when to expect new releases. There will also be a beta release of a brand new dictionary tool (we don't have a name for it yet!) that has been in the pipelines for quite a while. We expect to release that product in October.

There will be a new build of the Build Automator released sometime in September, probably closer to the end of September. It will include a new action to compile installs created with InstallAware and an action to delete registry keys. We have several other actions that we would like to add, but we have not decided yet exactly which ones will be in the September update.

-- Arnor Baldvinsson

Welcome to our new blog!

On this blog we will be posting comments about what we are working on as well as future ideas. Generally anything that we want to talk about that is related to our products or Clarion or software development in general!

To start with, we are getting ready to release updates to the Icetips Utilities and some new utility software. We have a cool little password manager coming out next week (around August 20) that will be part of both Gold and Silver subscriptions. While it's not strictly a developer tool it has served us well and we use it to keep all our passwords and logins accessible.

A new release of the Icetips Utilities is in the works and will be out during the last week of August with some new updates but primarily updates to the documentation.

We will include a single license of our new Build Automator with 1 year Maintenance Plan with all renewals that are purchased before expiration date and all new sales of the Gold Subscription for free - that's a $149 value! Remember that you must renew before your Gold Subscription expires! in order to receive the Build Automator license.

If your subscription is coming up for renewal make sure that you renew on time to receive the Build Automator license free of charge!

What if you already have both the Gold and the Build Automator? Then you get a 1 year extension on BOTH your Gold Subscription and the Build Automator Mantenance Plan - a 200 dollar value!

Finally I want to mention that we will be redesigning our website completely from scratch in the next few months. The current website has never been quite functional and rather than trying to patch the old website, which is based on code that was written 6 years ago, we are going to start from scratch. We will post more about this project as we get to a point where we can have it up and running.