Next Meeting: TBD
Meeting Directions

Be a Member


Help with Searching

20 Most Recent Documents
Search Archives
Index by date, title, author, category.


Mr. Know-It-All



Email Lists

SIGs (Internet, General Interest, Programming, Network, more..)

Online Chats


Past Presentations



Contact SCOUG

Copyright SCOUG

warp expowest
Pictures from Sept. 1999

The views expressed in articles on this site are those of their authors.

SCOUG was there!

Copyright 1998-2022, Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG, Warp Expo West, and Warpfest are trademarks of the Southern California OS/2 User Group. OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation. All other trademarks remain the property of their respective owners.

The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA

SCOUG OS/2 For You - December 1995

Borland C++ 2.0 for OS/2 - Part II

by Ron Lamb

The Debugger

Borland C++ includes a state-of-the-art graphical debugger (Turbo Debugger GX) and an OS/2 text mode debugger. The IDE does provide an integrated debugger that may be considered as a third debugger. For the purpose of this review I will only be talking about the graphical debugger.

The GX debugger is a state-of-the-art debugger that includes multiple views with pop-up menus, a SpeedBar for common actions, and integrated Window's management to provide a fast integrated debug environment.

Borland's debugger views (Borland terminology) or modeless dialogs allow the user to view data structures, set breakpoints, inspect source code, and monitor the running process. The views include: Breakpoint, Data point, Exception, Message point, Source and Disassembly.

Most of these views are what I call standards in the debugging world with the exception (no pun attended) of the two: breakpoint and message point views. These two views offer a nice feature that allows each breakpoint or message point to assign up to three different actions: break, evaluate expression, and log expression. The actions are performed upon the breakpoint triggering.

The first type, break action, is common to most debuggers and causes the debugger to break when the breakpoint triggers. The second type, evaluate expression, causes the entered expression to be evaluated when the breakpoint is reached. This is very useful to splice basic code segments without having to recompile a program. The third option, log expression, writes a line and value to the event log. This breakpoint is very similar to causing C's "printf" to occur at the breakpoint.

Though the debugger offered a lot of nice features, it did lack a message queue monitor and window analysis tool, two features I feel are very helpful when debugging any PM based application. The debugger is definitely useful but could use a few of the features found in other OS/2 debuggers.

The Debugger running the Tower of Hanoi

The Resource Workshop

Borland C++ includes an Integrated Resource Editor (IRE) called the Resource Workshop. Included in the IRE are a Dialog Editor, Bitmap Editor, and Script Editor that provides an efficient and easy way to maintain your project resources.

The Resource Workshop is one of the product's strongest features. In contrast to IBM's loosely coupled resource tools, Borland offers a tightly integrated environment allowing the user to maintain menus, dialogs, pointers, and other resources. In my opinion, the resource tools offered are much more complete than IBM's current C++ offerings, but some future IBM products that may change my opinion.

For current Borland Windows C++ developers, the Resource Workshop is similar to the Window's version with the following exceptions. One, the palettes in the dialog and bitmap editors are modeless. Two, drag and drop of resource files are implemented. Finally, foreground and background colors have been designated to the left and right buttons.

However during my testing, I ran into a number of problems that caused some concern. When trying to edit a resource that I created at work using the IBM toolbox, the Resource Workshop complained and would not load the resource file. In checking with Borland's documentation claiming high compatibility with IBM's RC file format, the file should have loaded trouble free. I then tried loading a number of resource scripts from the examples and ran into a similar problem. If you plan to switch from IBM's tools, I recommend testing before making the change.

One final note on my overall impression of the IRE. While reviewing the product, the Resource Workshop crashed on a number of occasions. These crashes seemed random and I could not determine the source. In fact, editing an icon or pointer resource on one of my test bed machines caused the Resource Workshop to abort. I haven't had time to research the cause, but felt it should be mentioned.

A better bitmap editor

Included in the Resource Workshop is a bitmap editor you can use to create and edit bitmaps, icons, and pointers. This editor supports multiple bitmap formats and provides a number of features that make creating bitmaps easier and faster. In addition to the basic features, the editor supports line drawing, circle creation, square creation, and rounded square drawing. The editor's most useful feature is the multiple undo/redo action that allowed me to step back and forward through multiple changes. The number of undo/redo levels is configurable depending on the amount of memory available up to a maximum of 99 actions. This undo/redo feature is common to all the Resource Workshop editors.

(The bitmap editor I am currently using only supports a single undo and no redo. Can you guess what bitmap editor I'm using?)

Also included in the bitmap editor is a multiple zoom feature. Though this feature was very useful, I ran into problems when using the selective zoom. These problems resulted in not being able to distinguish which bits were set after setting a bit on a bitmap that is selectively zoomed. Not knowing what bits are on and off renders this nice feature useless.

The Bitmap Editor

Finally a real dialog editor

Borland C++ 2.0's dialog editor is similar to the dialog editor included with their C++ Window's compiler. The editor supports all common OS/2 controls and a few of their own. The additional control styles include a 3D check box, diamond shaped radio buttons, and the famous Borland push buttons.

Adding a PM control is easy: click on the PM control that you want to create and then click on any location within the dialog where you want it. Control object attributes are set by double clicking on the control and changing its attributes through the supplied dialog. From a quick glance, the editor's PM control support includes bitmap and icon push buttons and appears up-to-date.

In my opinion, one of editor's nicest features is the implementation of the set tab, set order, and set group operations. Setting the tab order is as simple as clicking in the order that the dialog's tab sequence would be in. Setting the group and order is just as simple. Anyone who has used IBM's dialog editor, will find this a much easier way of arranging tab order. Dialog resources can be created graphically or by hand.

The rest of the Resource Workshop

Menus are created in a wizard like style requiring two steps. Step one requires filling out the "New Resource" dialog specifying the include file for the identifiers. Next, a "New Menu" dialog pops up allowing you to select one of three standard menu structures: Standard Menu Bar, Pop up, or Simple Menu. After completing these two steps, the Resource Workshop creates a menu structure template supporting one of the pre-defined menu styles. After creating the template, each menu item and its identifiers must be added. This is a good productivity enhancer, but is limited by not providing a more automated process.

The Resource Workshop seems to support all the types of resources. The table at the top of the next page lists the resources supported, what editors are used for each resource, and any special features.

What else is in Borland C++ 2.0?

So what else do you get with Borland C++ 2.0? Besides all of the wonderful stuff I have mentioned, the package includes a Turbo assembler, Object browser, OWL 2.0, and IBM's SMART Toolset. To get this review out before Christmas, I have not included these items. If enough interest is shown, I will try and follow this review with one that covers some of these other subjects.

Resources Supported by the Resource Workshop

|Resource             Supported Editor     Special Features    |
|                                                              |
|RCDATA               Script Editor                            |
|                                                              |
|POINTER              Bitmap Editor                            |
|                                                              |
|BITMAP               Bitmap Editor                            |
|                                                              |
|MENU                 Script Editor        Menu Creation Wizard|
|                                                              |
|DLGTEMPLATE          Dialog Editor        Dialog Wizard       |
|                                                              |
|STRINGTABLE          Script Editor                            |
|                                                              |
|FONT                 OS/2's Font Editor                       |
|                                                              |
|ACCELTABLE           Script Editor                            |
|                                                              |
|MESSAGETABLE         Script Editor                            |
|                                                              |
|HELPTABLE            Script Editor                            |
|                                                              |
|HELPSUBTABLE         Script Editor                            |
|                                                              |
|ASSOCTABLE           Script Editor                            |

How does it rate?

From what I have seen, Borland C++ 2.0 includes some nice features. It offers a strongly integrated development environment for both maintaining your source and resource project components. The performance is acceptable running on an eight megabyte 486 33Mhz machine and the tools are both up-to-date and well designed. It does not fall into the category of what I would call, "Bad Windows Port" (we all know what that is!).

Though the product offers a lot, it does lack in some areas. One, it does not have all the bells and whistles of its Window's cousin. Two, while testing the product I did get a feeling of instability. I cannot say for sure, but I think it has a few gotchas. Finally, the debugger does not include all of the features that I have grown accustomed to. If you are going to play ball, bringing a toy bat won't get the job done!

To sum it up, does Borland C++ 2.0 topple IBM's CSet++ 2.1 as my choice of compilers? Borland C++ is a strong product, but IBM's CSet++ compiler will remain my choice for the following reasons. One, IBM's debugger is more powerful and includes a message queue monitor and window analysis tool that is extremely useful in debugging PM applications. Two, IBM's product includes an Execution Analyzer that is useful in optimizing and tracking down performance bottlenecks. Finally, I know that IBM will support their product for the life of OS/2. I am not sure where Borland's OS/2 commitment is. Borland has obviously done a lot with their current offering but is not doing a lot to provide customers with their future OS/2 plans. For people considering Borland's compiler over IBM or Watcom, the commitment issue should be important and worth considering.

One final point

So what is the answer to the question, "Where does Borland C++ 2.0 fit?" For anyone who has used a Borland Windows compiler before, has a machine with limited resources, or is looking for a C++ cross- platform solution, this product is worth considering. I feel this product's niche is as a personal development or small project platform.

I hope you have enjoyed this review and that it has provided some information you may find helpful. My review is based on a rather quick look at the product and therefore I may have made a statement or two about not being able to do something that can be done. However, I have been as thorough and complete as possible, basing this review on my experiences with IBM's CSet++ 2.1 and Borland's C++ 2.0. I have since had the opportunity to look at IBM's upgrade (VisualAge C++ 3.0) which has only strengthened my opinions on compiler choice. But then choosing compilers is almost like choosing editors, "It a religious choice."

If you are interested...

Borland C++ for OS/2 is a product of Borland International, Inc., 100 Borland Way, Scotts Valley, CA 95066, phone (408) 431-1000. MSRP is $499, but there currently seems to be clearance type pricing through OS/2 product resellers.

The Southern California OS/2 User Group
P.O. Box 26904
Santa Ana, CA 92799-6904, USA

Copyright 1995 the Southern California OS/2 User Group. ALL RIGHTS RESERVED.

SCOUG is a trademark of the Southern California OS/2 User Group.
OS/2, Workplace Shell, and IBM are registered trademarks of International Business Machines Corporation.
All other trademarks remain the property of their respective owners.