Borland C++ Index

Borland C++ is a great program. I used version 3 under DOS for several years. It had a super clipboard (you could actually save several items in it and edit the contents) and the help contained numerous examples.

The version 5.02 has neither of these (but it works under Windows).



Fixing the Context Sensitive Help

The ONLY reason to use Borland C++ is to write console programs. Normally, this is done for code that must run in unix (Linux) or for a programming course. (If you want to write an MS Windows application, use Borland C++ Builder.) However, by default, the help for the normal c++ header files is not searched when you click on a header file or command and press F1. (I mean, if the only reason to use the product is to learn normal c++ stuff, the context sensitive help should work on those commands.)

Well, the help file is available (in classlib.hlp), but by default, it is not searched when you press F1. In order to add classlib.hlp to the search tree, run

and add to the default set of help files. Alternatively, you could change the default selection to All


iostreams

For iostream.h, there is some help. However, there are no examples and there is no help on cin or cout. (Neither one is in the help index.)

To get useful help, double click on

and navigate to This actually explains how to use streams.

Of particular interest is the console stream (constream defined in constrea.h) which provides the functionality of conio.h, including

However, in the help, there are discrepencies. For instance and the constrea.h help does not contain either.

The following is from the Borland C++ help (with a few modifications)

It also is not clear if constrea.h is part of C++ (ie, it should be available in unix) or if it is just another Borland extension. I am particularly suspicious because constrea.h includes conio.h.


Directories

You can not use an un-mapped network directory to store your programs. An un-mapped directory is accessed via someting like A mapped directory is accessed via someting like Borland C++ 5 will allow you to edit and compile programs using an un-mapped directory ... but the linker fails. (In general, DOS programs can not use un-mapped network addresses. Therefore, I assume that the linker is a DOS program.)

The error message is fairly cryptic, simply stating that the make failed.


Keyboard Shortcuts

Place the cursor before any { or } and press either Alt-[ or Alt-] to make the cursor jump to the matching curly brace.


C++ Standard Library classes

With Borland C++ 5.02 16-bit EasyWin applications, don't use this Use this instead With 32-bit applications, string works but produces 7 warnings.


Debug

Once it works, the integrated debugger is great. However, setting it up can be a bit confusing.

The necessary parameters can be set either when you create a new project or via the TargetExpert... available by right clicking the exe file in the project window.

For a console application, select

In the Project window, right click the cpp file, select Edit node attributes and set the Style Sheet to None. Some references suggest that the Style Sheet should be set to Debug Info and Diagnostics. While this works fine in Windows 98, it is my experience that this causes a problem in Windows XP. Specifically, using Windows XP, I get "Thread stopped .... Access violation" when I try to single step through

Setting the Style Sheet to None solves this problem.

If you set the Target Type to EasyWin[.exe], you will not be able to use the integrated debugger.

The integrated debugger works with 32-bit applications. To debug 16-bit applications, you must use the command-line debugger.


Compatability

Microsoft vs. Borland Portability Woes
Discusses how to handle Exception Handling, Multi-Threading, and the Namespace std problem.


Author: Robert Clemenzi - clemenzi@cpcug.org
URL: http:// cpcug.org / user / clemenzi / technical / Languages / Borland_C++ / index.html