Visual REXX Faceoff - Part 3
Автор: Gordon Zeglinski
Дата: June 1994
Источник: EDM/2
Contents
- 1 Introduction
- 2 Installation
- 3 Look and Feel
- 4 Feature Comparison
- 5 Wrapping Things Up
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.