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

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.