Developer's Toolkit - Software by Ragazzi

by Drew Bourrut

Published 1998-05-01    Printer-friendly version

I've seen ads for the Ragazzi Developers Toolkit but I had never even looked at the product. So I was looking forward to doing this review. Let me begin by telling you about the product.

There are two parts to the product. There is a standalone desktop utility program (the Toolkit), and a series of Templates with a function library. They used to be sold as two separate products, and since neither relies on the other, I'll review them this way. So, while the standalone Developer's Toolkit is what you see first after installing the product, we'll look at it after the Templates here.

The Templates

The Templates consist of global, extension, code, and control templates plus one wizard. Templates cover a variety of tasks from icon animation, to a demo limit check and some of them really shine. There are some wonderful templates here. To test the various templates I chose one of the Clarion4 demo apps that didn't have too many procedures and began to implement the various template tools. Here's what I did and what I found.

The Global Templates

I chose the Maillis4.app. I included the three global templates: Control Series. Library U Series, and Standard Series. The Control Series has no options. It is used by the control templates. The Library U Series allows you to select which library tools are to be included. By default, they are all included. Why would you want this feature? If you are having a Clarion dynamic pool limit problem, you can choose to include only those tools you actually will use and this may help you past the dynamic pool problem. I chose to leave them all checked. Finally, the Standard Series has Run-time, Generation properties, Add to export list, Add to project, and miscellaneous options.

Let me say right off there's a lot to like here. Let's look at a few of the options.

Here is a break-down of the Standard Series Run-time options:

  • General - This includes adding a version number to your app, adding the compile date to the version, inserting a copyright, and selecting the default icon for the app. Additionally there are two buttons: demo options; where you can set a date limit or a number of records limit to turn your program into a demo, and Alert keys, which allows you to designate specific alert keys. For example, you can set Control+shift+F to select a font.
  • Tooltips - This is allows you to set up certain standard tool tips messages.
  • Colors - This allows you to set up to 10 color schemes to be used.

The Generation properties features include: Including demo code into each procedure, Automating the making of help IDs.

There are more options. Download the Toolkit templates demo and take a look for yourself.

Once the globals were set up, I proceeded to try out some of the templates. Some are very basic while others are fairly sophisticated tools.

The Utility Library

Ragazzi provides a library of functions. Some of these allow the placing of buttons on your screens to provide a variety of functions. Others allow you to embed code to provide functionality. Let's look at a few.

Call popup calendar

First, I used the calendar button control template. This template produces the nicest calendar I've seen in any Clarion app. It's so nice I'd like you to see it, so here is a picture.

R_DB0402.gif

Notice that it shows you five months of calendar; the two months prior, the current month, and the coming two months. Very nice! When used on a form the button can be used to fill-in a field with a date selected from the calendar.

Call popup calculator

I placed the calculator button on a form, compiled the program, and ran the program. I pressed the calculator button and found a very nice calculator with logs, square roots, etc. It's nicely laid-out and allows you to pass it a value and retrieve a resulting value.

Call popup directory

This button provides you a way of displaying a popup directory tree on your form. Have you ever needed to provide your users with a way to specify where data would come from? True, you could allow them to type in a path but suppose they got it wrong. Using this template, the user can browse the disk until the correct directory is found. Then it can be returned to the variable of your choice. This is a nice clean template. By the way, it can also provide the full long directory name.

INI editor

This button allows you to provide a way to easily edit the program's INI file.

Soundex

The documentation for this feature is somewhat sparse. There is no explanation of the purpose of this tool.

Search and replace

This function allows you to do search and replace of ASCII files. You can provide the user with a way to change all occurrences of the "from" text to the "to" text. It's a nice feature but I wish it were capable of handling other file types. Still, it's a nice little tool.

The Control Series Templates

This series of templates includes icon animation, moving icons, a button to execute a function/procedure/routine, an OK/Cancel button, a timed window, and "Office 97" style buttons. Let me speak of a few.

The icon animation template is a nice implementation. You place a control on the screen and then specify (in order) what icons to display. Poof... you're done. The moving icon template seems less useful. It allows you to specify a region and one or more icons. They then move around the region.

The two button templates (Ok/Cancel and Execute) seem less useful until you look a bit closer. Then you find that the execute template provides an unexpected bonus. It allows you to easily call a procedure (no big deal) and pass it a value (bigger deal). It also allows you to call a function or a routine.

The Standardization Series Templates

These templates allow you control over your whole app. You can:

  • Easily insert "Demo" control code into your application
  • Make all your window help IDs match the actual procedure name
  • Keep your application's workspace uncluttered by hiding and unhiding windows as they lose and gain focus.
  • Ensure that "child" MDI windows retain their correct sizes when a lower MDI window is maximized
  • Propagate the frame's font attributes to all (or selected) controls on all windows at run-time
  • Control where Tooltips are used on common controls like; Exit, Close, Insert, Change, Delete, Select Buttons
  • Control what the ToolTip message will be for these controls
  • Define global Insert, Change, Delete messages on forms
  • Export selected variables from a DLL even if Clarion's IDE normally would not allow them
  • Easily add additional files to your Project like Icons, DLLs, LIBs, CLW files
  • Have your Application Frame start a "Timed" splash screen, then start an optional 1st procedure

Of these, I particularly liked the demo capability and the ability to hide and unhide windows. It does make for a cleaner screen.

The Standalone Developer's Toolkit

R_DB0401.gif

When you start the program, you get a toolbar located on the top left corner of your desktop. It always remains on top. It has icons for a compiler tool, template installer tool, LIB maker tool, OLE/OCX viewer tool, image viewer tool, product registry tool, and people registry tool. Additionally, there are three icons related to setting up the product plus a connection to the Ragazzi Web/FTP site, a help and exit icon.

The Compiler Tool

This could be a very useful tool. It allows you to compile multiple apps. Here's how I used it. I have a directory with two dozen apps in it so it was perfect for this test. To begin, you must tell it what directory(s) to scan for apps. It then produces a browse showing you all apps available for compiling. You must then do some one-time work. You must tell the tool the target type and name for each app. That is, you tell it that it is to be an EXE, DLL, etc. Then you tell it which apps to compile. Note that by default it is set to compile all found apps. Then you click the compile button and away it goes.

As it deals with each app it provides you with one of five statuses; to do, requesting, waiting, compiled, or error.

I began by setting up to compile three of the twenty-four apps. I chose each app because it was an ABC class app, and for its size. Each app is rather large (over a hundred procedures). I pressed Compile. The first thing I noted was that the browse jumped to the last item in the list and stayed there, while I assumed it was dealing with the first app to be compiled. After a long wait I received a message: "An error occurred while processing your request. Error: DDE timeout." I pressed the ok button and the status jumped to the first compile item where it momentarily showed an "R" for requesting that quickly changed to an "E" for error. It started compiling the next app and seemed to be compiling correctly except that, during the link edit portion, it reported an error while the compiler tool showed a successful compile. The third app compiled correctly and the status indicated this.

I tried the same three apps a second time with similar but not identical results. Then I tried three other apps. This time I chose two non-ABC and one ABC template-based app. The first app (non-ABC) compiled correctly, the second app (ABC) compiled correctly, but the third app (non-ABC) seemed to have some sort of a Clarion problem and ended. As I am typing this, the multi-app compiler seems to still believe the app is compiling.

I tried re-compiling these three apps a second time. Since the first two had already compiled correctly, they took virtually no time. The third app this time picked up its compilation and ran to completion.

I tried several other compilations over the next couple days with varying results, but in no case was I able to compile many apps without some sort of failure. This tool seems like a great idea but it appears not quite ready for prime time. (Note: I found it worked better if Clarion4 were minimized. Then, at least, I could sort of see the status screen under the make window.)

The Template Installer Tool

This tool allows you to register a template. When I first looked at this tool, it appeared that you could only register one template at a time. I missed an icon that looked like a notebook in the bottom left corner that is used to allow you to set up a list of templates to be installed. You can make the tool find all of your templates regardless of what directories they're in. Then all or some of the templates can be installed. A particularly nice feature is that it allows you to delete the registry before the rebuild in case you are having registry problems.

Nice tool! My only complaint with it is that on first reading of the documentation I missed the multi-template install capability. Obviously, this was a problem with the documentation. It could not have been my problem. Or so I believe.

The Libmaker Tool

This is a nice tool. It automates the task of making LIB files from a series of DLLs and EXEs. According to the help file, it's based on the "LIBMAKER" program that is provided as one of the examples on the Clarion CD. It does the job well.

The OLE/OCX Viewer Tool

Click on this tool and it will show you all of the OLE files and/or OCX files that your Windows has registered. Simple tool... works well.

The Image Viewer Tool

This tool will show you all of the images you have in one or more directories. If you have directories with a small number of images, (several hundred) the tool seems to work well. However, it did not work well for me. Unfortunately, once you tell the tool what directory to scan for images, it will scan that directory each time you invoke the product. Why is this unfortunate? Imagine you have a directory with almost 7000 icons in it. I do. Once I set it to scan that directory it does it each time it opens and it takes decades for it to find all those little icons. Arggh! Ok, it didn't take decades. But it sure felt like it.

Once it scans the directory, it should show you a list of images. Click on an image and it's supposed to show you an enlarged picture of the image. It seems to work reliably with small (several hundred) images in a directory. But with my 6700+ icons it worked once and after that, once it showed me a list but would not show me the icon. And once it crashed closing the toolkit and freezing Microsoft Word that I also had open. After that, I only tried it with directories containing a smaller number of images.

The Product Registry Tool

This is a good idea. The tool consists of a simple browse and form. The browse shows you a list of the products it knows about and the form allows you to enter information about any product. There are places for lots of information about the product including the passwords for installing the product. I liked that part because I'm always misplacing those passwords.

The People Registry Tool

This tool is a simple contact manager. Like the product registry tool, it consists of a simple browse and form. I question what it's doing in a "developers" toolkit. Other products provide significantly more contact management capability, but it does work.

If the goal is to allow you to store as much of your information as possible in one place, I understand. but I believe this requires that each tool be fully up to the task. As a simple contact manager, this is fine,but I suggest that more is needed. For example, the contact manager I use makes it easy to create a letter from the contact list in the manager; and it makes it easy to invoke email. This is a typical need for a developer.

What it all means

I liked the templates very much. Some of the templates seemed very simple but they worked as advertised. Others, like the calendar template, were wonderful.

I really wanted to like all of the stand alone product. I want to like all products I review because I believe we need to encourage more people to develop more tools for us developers. As you could tell, I was disappointed with the working of some of the standalone products. I found the tools that I would use most often (the multi-app compiler and the image viewer) not working very well and this is reflected in the scoring.

Ragazzi tech support was responsive. The support was prompt and answered the questions asked. The product, as reviewed, was made available in mid-April. It fixed some problems that were in an earlier version. Fixing noted problems is part of tech support and such response is appreciated.

Room for improvement

The multi-app compiler needs to work more cleanly. It would be useful if the image viewer would catalog the images it has found, and only rescan if asked to. I think more could be done with the contact manager (people registry tool); perhaps DDE to a word processor, and a way to invoke email (similar to the button to connect to a specified web site). Also, I think there should be a simple way to directly edit the INI file for the tools.

Since I liked the calendar so much, perhaps you'll find it humorous that I want even more. Virtually all calendars show you one active month. This calendar shows one active month and four inactive months. By that, I mean that you can only choose a date from the current month. For example if, as I write this, I were to click the calendar button in my app I would see April as the current active month. I would also be shown February, March, May, and June. These would be inactive months. If I wanted to schedule a date in May I would have to click on the calendar button to increase the current month by one and then I choose the date. It would be great if I could select any date in the five-month span by simply clicking on the date.

The documentation suffers for two reasons. First, there is no demo provided with the product. You can download it separately but you don't get to see the app so you don't learn how to use the product by example. Additionally, the only documentation is the help file and some of the help, as I indicated above, was somewhat less than useful. For example, what the heck is Soundex?

The Ratings

Category

Product Score

Ability to do the task

Templates: Very Good
Toolkit: Good

Ease of use

Good

Ease of Installation

Very Good

Documentation

Good

Technical Support

Very Good

Modifies Shipping Templates

No

Black-Box DLLs/LIBs

Yes

The Developer's Toolkit lists for $99.00 US and is available from these sources:

- Direct from Ragazzi (see http://www.Software-by-Ragazzi.com for more info)
- Via CompuServe SWREG (use keyword 'Ragazzi')
- From BMT Micro via the Internet (http://www.bmtmicro.com )

A demo of the Templates and Library can be downloaded from the Software by Ragazzi web site (listed above). Additionally, the product itself can be downloaded and run in time-limited 'shareware' mode. In this mode, only the Toolkit is installed (not the Templates, etc.).

Vendor comments from Kevin Erskine of Software by Ragazzi
Soundex - The Soundex system is the means established by the National Archives to index the U.S. censuses (beginning with 1880). It codes together surnames of the same and similar sounds but of variant spellings. Soundex codes begin with the first letter of the surname followed by a three-digit code that represents the (first three) remaining consonants. Our version allows you to have longer soundexes if you like.

Compiler Tool - We are looking into increasing the DDE timeout period and better handling compile errors. Our multi-app compiler only works with a set of APPs that compile cleanly in CW. If there are compile errors, our tool may not function properly. We will try and beef this up a little.

Image Tool - I think the problem with displaying the icons is a Clarion limitation on the number of items can be assigned by the PROP:ICONLIST. Now that I know of this limitation I will come up with a different method of displaying the icons in the list. Also, I agree with the annoyance of automatically loading the last directory processes. I will add a prompt to this screen.

People Registry - Additional features are being added to this tool. It was not quite ready for release, but we had a deadline and decided to include it so people could start using it while we add additional features. Your suggestions are appreciated.

Demo App - We are looking into providing a sample application, but our demo uses some 3rd party templates that we need to get permission to use.

Templates - In the "Utility" template\Library there is a "Screen capture\print" feature that my customers all rave about. It allows you to capture any MDI screen in your CW application (frame or current window) and either save to disk as a BMP or print it. This is a great tool for your users to print screens for trouble shooting and for your documentation team to include screen shots.

Printer-friendly version

Reader Comments

To add a comment to this article you must log in.

 
 

Search

 

Advanced Search
Topical Index

Related Articles

Subscribe to
ClarionMag

One year: $169

(includes all back issues since '99)

Renewals from $119

Two years: $269

Renewals from $219

More Info

Subscribe Now!

ClarionMag Blog

RSS Feeds

Updates via Email

Enter your Email


Powered by FeedBlitz

Quick Links