Visual REXX Faceoff - Part 3

From EDM2
Jump to: navigation, search

Written by Gordon Zeglinski

Part 1

Part 2

Part 3

Introduction

This issue sees the third part of the Visual REXX Faceoff. We start by looking at VisPro REXX GOLD edition Version 2.03 by Hockware and then see how it compares to VP BRONZE and VX-REXX.

VisPro ships on a single floppy disk and comes with a 400+ page manual. In addition to the base package, the Data Entry Object Pack and the VP SOM toolkit were shipped on two additional floppies. An additional 90 page manual is included for the data entry objects.

Installation

Like the BRONZE edition, the GOLD edition is easy to install. Just run SETUP.EXE on each floppy and then reboot, and you are ready to go. One of my biggest gripes about the BRONZE edition was the lack of advanced sample applications; this version has plenty of good samples.

The install folder for VP GOLD is slightly different than that for the BRONZE edition. When done, you will see the following folder on the desktop (assuming you install everything).

Figure 1. Installation Folder

The sample projects cover topics like multi-threading, multi-windows, the DB2/2 database designer, and the new data entry objects. Below is the sample project for the data entry objects.

Figure 2. Sample Project

Look and Feel

VP BRONZE and GOLD are nearly identical. All of what applied to the BRONZE edition looked at two issues ago also apply to this issue. The layout view has changed slightly as shown in figure 3.

Figure 3. User Interface

Also shown in Figure 3 are three controls types from the Data entry pack. The calendar, split bar (the blue vertical line), and clock controls are shown. One thing Figure 3 doesn't show about the clock control is that the hands move while you are editing the layout; this is a nice touch in my opinion.

The SOM development kit is fairly easy to use. It worked well until I installed the SOM developers kit, however; I still haven't figured out how to get it working with the SOM 2 compiler or even at whom I should point my finger (if anyone). The problem here arises because the SOM 2 compiler seems to be generating an incorrect reference to a SOM 1 function or something like that; getting the SOM 1 toolkit to work with the SOM 2 compiler would probably be quite challenging for a new SOM programmer. As the workaround, one can edit the makefile so that it uses only SOM 1 compiler components.

Figure 4 shows the SOM Object Builder.

Figure 4. The VP SOM Object Builder

The SOM Builder is pretty easy to use. You just fill in the notebook and hit the generate button. It creates all the necessary files to define the "SOM code". The SOM code includes the .CSC, .C and .H files that define the SOM object and implement its methods, after which you edit the C files and then make the object using the supplied makefile. (Of course you have to read the toolkit documentation before trying this.) If this sounds too good to be true, there is a cloud for this silver lining - the sample projects assume you are using C-Set/2 not C-Set++, so some manual tweaking of the samples is needed. Also, The SOM Builder only generates C code, so one can't use the C++ bindings found in OS/2 2.1 Programmers Toolkit.

Feature Comparison

The following table compares the features in VX-REXX to those in VP BRONZE.

Feature VX-REXX Vispro REXX (BRONZE) Vispro REXX (GOLD)
Control Windows
Static Text Yes Yes Yes
Group Box Yes Yes Yes
Button Yes Yes Yes
Radio Button Yes Yes Yes
Check Box Yes Yes Yes
Picture Button Yes No No
Picture Radio Button Yes No No
Picture Box Yes Yes Yes
List Box Yes Yes Yes
Combination Box Yes Yes Yes
Drop Down List Yes Yes Yes
Entry Field Yes Yes Yes
Multi Line Entry Field Yes Yes Yes
Value Set Yes Yes Yes
Slider Yes No Yes
Spin Button Yes Yes Yes
Notebook Yes No Yes
Container Yes No Yes
Free Form No Yes Yes
Menus Yes Yes Yes
Help Support Yes Yes Yes
DDE Yes No No
Timer Yes Yes Yes
Threads Yes No (1) Yes
Drag and Drop Yes (2) No Yes (3)
Q+E Support Yes Yes Yes
ISV Extendible In Beta Yes Yes
Visual DB2/2
database designer
No No Yes
Business Graphs No No Yes (4)
(1) Threads in REXX are not the same as threads in C. Global data is not automatically shared in REXX. There are several freeware and shareware REXX libraries that will allow you to have multi-threaded REXX programs (assuming your package doesn't already support this).
(2) In container controls only
(3) In container controls and on the main window
(4) Supports Pie, Bar, Line, Area and Stacked bar graphs.

Additional object kits will be available that provide additional multi-media support and other features. If you develop objects for VP REXX, HockWare has a marketing assistance program.

The DB2/2 support allows one to reverse engineer an existing database, or visually create a new one. Once done, all the code necessary for setting up the REXX to DB2/2 interface can be automatically generated. This can substantially lower the development time.

Wrapping Things Up

The VP REXX GOLD package is very impressive. It mimics the look and feel of the WPS closely allowing one to start developing quickly. The part that amazes me the most, is that it's runtime DLLs are small when compared to other visual REXX offerings. I must balance this by adding that it is not the perfect choice for creating scripts. Both VP products currently suffer from the limitation of being limited to 1 active VP program per process. In an environment that allows multiple scripts to be run simultaneously, this can be a hindrance. This limitation has no affect on the REXX programs wrapped in their own executable file.

The DB2/2 tools are easy to use. I only used them briefly because DB2/2 was removed due to a lack of hard drive space. From what I did see of them, they are a must have item for programmers that are doing a lot of DB/2 work and need to rapidly prototype DB/2 interfaces.