Watcom's VX-REXX version 2.1 Review

Review by Derek Clarkson

About 3 or 4 weeks ago I received VX-REXX version 2.1 for review and so far I'm quite impressed with the updates.

But first lets recap a bit for those of you who aren't familiar with this product. You may have already heard of VX-REXX, VisPro/REXX or Visual Basic. All three are a similar type of product except that Visual Basic utilises a different language and is a Windows product. Basically all three are application development tools where you can create a program by 'drawing' the buttons, menus, text fields, etc. on a window and then attaching program code to them. They are also designed to enable anyone from an experienced programmer to a novice, to quickly and easily develop professional looking applications. Both VisPro/REXX from Hockware and VX-REXX from Watcom utilise the OS/2 Workplace Shell interface and REXX which is part of OS/2 as their means of creating OS/2 programs.

OK, so that's the quick blurb on what I'm talking about. The first version of VX-REXX I bought was version 2.0, which I quickly updated with some patches to version 2.0b. Plus I added so external components I downloaded from Compuserve such as a resource compiler. If you are not sure what a resource compiler is, it's a program which lets you bundle BMPs, icons and other 'resources' so that they are included into the .EXE that VX creates. Without it, you would have to make sure that these resources where always available on your system and in the right directories. You would also have to include them if you gave the resulting program to someone else to use. Hence a resource compiler makes life a little easier because these resources are in the exe and therefore you don't have to worry about them. In VX's case the resource compiler comes as a VX macro which is incorporated in the design environment.

Anyway, I recently installed version 2.1 of VX. And several things became apparent straight away. The first thing I noticed when I opened the box was that the manual was smaller. This seemed odd as one of the beefs I had with 2.0 was that the manual wasn't detailed enough and if anything I would have thought that Watcom would have added more to it. In fact, they had. The 'paper' manual that came with it was on the programmers guide portion of the documentation. Designed to give a reference as to how to do things and a guide for programmers new to VX.

The massive reference to VX properties, functions, code, methods, etc is now only available in a on-line inf file form. Some people may not like this but after a while I have found that it is much easier to lookup the on-line reference than to hunt around a paper one. Particularly now that the commands and language in VX have been hot keyed so that you can jump straight into the relevant sections of the manual. Besides that an on-line manual has the advantages of being easy to search and jump around.

Once I had actually installed and started running 2.1 I noticed lots of differences all around the product. One of the biggest pains in 2.0 had been fixed for a start. Now you can press [CTRL]+R anywhere to run the project.

Previously you had to go back to the design window. I noticed new event everywhere particularly drag and drop orientated events to give you more access and control. Another feature that had been added and is not available in any other product I know is that ability to get into the message queue for the program and recorder it or delete messages.

This could be very useful for projects with complicated interfaces where a whole series of events can be triggered by one action. There are times where you just don't want certain things to happen, and the only way to stop them would to be add conditions to the tops of other procedures instructing them not to run. This is messy and code consuming. This way, the procedure that caused the event messages to be sent, can now go into the queue and remove them, thus stopping a event before it is activated.

The resource editor which I had previously downloaded is now incorporated into the product and such things as setting icons are available through the settings notebooks of objects. Another worth while new feature for larger projects is that code and windows can now be shared across projects. Basically letting you assemble libraries of common routines which you can use. And a new feature that Visual Basic programmers will have taken for granted is that when you rename an object, VX now scans the rest of the code and updates any reference to that object that it finds. About time.

The other thing to note about this release is that it comes in two flavours. First there is the standard one we are all used to. Second there is a Client/Server version which has included a number of powerful database objects. These objects allow you to bind objects to your databases, visually generate and test SQL queries and many other functions. Also available are over 150 different chart types. Using this version you can access a number of databases including DB2/2, DB2 for MVS, SQL/DS for VM and VSE, SQL/400 for OS/400, Watcom SQL for OS/2 and ODBC enabled databases.

So in summary I have found that this version of VX is well worth the upgrade price. The new features, properties and methods make it much easier to work with and give it more strength in what you can do with it. But all is not well, we did find that using long names for projects cause serious crashes every second or third save. Resulting in a hung but un-killable process. This then meant that the only way to reset was to reset the machine via the big red switch and upon reloading the project, we found that code was randomly corrupted. However if a DOS compatible name was used there was no problems. This is a new bug which did not appear in the 2.0 release. But to give Watcom their due, a patch file for 2.1 has already appeared on Compuserve even though it does not fix this particular bug.

The review copy of VX-REXX 2.1 was kindly provided by MultiTask Consulting, Sydney.

VX-REXX 2.1 can be obtained in Australia from:
 * MultiTask Consulting (02) 904-1988
 * MicroWay (03) 580-1333