slice / SmlFile.TXT

                  Welcome to Borland C++ Release 5.02

This README file contains important information about Borland C++.
For information about OWL updates, see \BC5\DOCS\OWL5.TXT.

* Contacting Borland
* Online Licenses
* Redistributable Files List
* New IDE Features
* Incremental Linker
* Interoperability with Borland C++Builder
* New Scripting Features
* New Resource Workshop Features
* Issues

Contacting Borland

Borland offers a range of services to provide comprehensive 
product information, updates, and product services. You can 
get more information on Borland C++ by contacting any of 
these resources:

World Wide Web:

Tech Info page:


Up & Running:    (408) 461-9133 (Installation support)

Send an email message containing this text:


Online Licenses

Borland now provides the software license online. Refer to 
the file license.txt in the root directory of the CD for details.

Redistributable Files List

Refer to the file redist.txt for a list of redistributable 
files for Borland C++ 5.02.

New IDE Features

The IDE includes many usability enhancements in this release.
They are listed briefly in the following sections. Refer to 
online Help for details.

Compiler Enhancements

* New 32-bit compiler (BCC32.EXE) provided with this release

* A Make following a failed Build All rebuilds from the point 
  of failure 

* New compiler option under Options|Project|C++ Options|
  General called Zero-Length Empty Class Member Function (like -Vx)

Editor Enhancements

* Read-only files identified by an "R" after the file name

* Modified files include an asterisk (*) after the file name

* Search|Replace includes a Change All option

* IDE remembers the cursor position of the last 100 
  edit buffers that you closed 

* IDE automatically loads the Tips script to display tool tips

* Cursor changes in left gutter to indicate that a click 
  will drop a debugger breakpoint

Debugging Enhancements

* New options in Options|Environment|Debugger|Debugger Behavior:
  Do not save files or prompt when debugging and Do not prompt
  when attempting to run 16 bit applications

* New option in Options|Project|Compiler|Debugging:
  Detach Debug Information from OBJs

* Debugger status glyphs: Lightning bolt (if running)
  and Pause Process (if stepping or at breakpoint)

* Debug menu: View Locals command creates Local Inspector (to 
  watch local variables) when the IDE Debugger has a process loaded

* The Watch window shows values in hex, decimal, or both formats

* CPU View stack pane indicates the current position

* While debugging, editor tooltips display the value of the symbol
  under the pointer

Message Window Enhancements

* An .RC file's source date and time format 
  reflect the format of the country setting

* The default position of the Message window has changed

* You can use Ctrl+ A to clear the Build tab

* Clear before Make/Build in Options|Environment|Preferences

* Double-click on an unresolved external error message 
  in the Build tab opens the file with the external reference

Project Management Enhancements

* Project menu: Stop Background Task appears during an 
  asynchronous build 

* Project window glyphs: A red check mark (node has 
  Local Overrides) and a clock with a red X on it 
  (node out of date and will be rebuilt on the next make)

* The default position of the Project window has changed

* Compatibility: Two new Project Options on the C++ Options|C++ 
  Compatible dialog, Destructor Cleanup Compatibility and Class 
  Layout Compatibility

General Enhancements

* Preprocessor: Invoking the preprocessor automatically loads
  the output into the edit buffer

* Syntax highlighting: Scope delimiters ) and } can be 
  customized; preprocessor directives highlighted only 
  instead of highlighting the whole line

* File|Open dialog boxes: Enable filename completion 
  available in Options|Environment|Preferences for files 
  and directories

* Keyboard Shortcuts: You can use Ctrl+S to find the ~, <, and > 

* Windows NT: Shutting down the computer now saves an open 
  .IDE file. 

Incremental Linker

Borland C++ provides an incremental linker that dramatically improves 
link times (after the initial link). To use it, check Incremental 
Linker on the Options|Project|Linker|32-bit Linker page. 

Interoperability with Borland C++Builder

If you have Borland C++Builder, you can add the C++Builder .MAK 
makefiles as nodes to your BCW projects. Refer to BCW.HLP for
more information.

New Scripting Features

* File maintenance/navigation script (DIRVIEW.SPP)

* New method ProjectStopBackgroundTask() to terminate 
  asynchronous build/make/compile/transfer

* remove_view_menu_item function in MENUHOOK.SPP lets you 
  remove IDE main menu items 

* SearchAll hot key changed from A to L. 
  (A clears the Message tab.) 

New Resource Workshop Features

* 32-bit custom control DLL support in 
  Options|Environment|Resource Editors|Control Libraries

* New menu command Dialog|Resize to Content

* Dialog editor enhancements

* Check for Duplicate ID on the Dialog menu 

* Dynamic IDE status bar 

* Entry of DBCS characters in the menu editor 

* Code page support in Resource compiler through -c switch 
  and #pragma code_page(ID-num)


New 32-bit Compiler Rule

The new 32-bit compiler implements a language requirement that may
break some existing code. The new rule is that you cannot pass a
temporary variable by reference--you must pass it by const reference.

For example, given a function with this prototype:

  func1 (TMyClass& o);

the following call used to be acceptable:

  func1 ( TMyClass() );

However, you must now change the call to:

  func1(TMyClass const & 0)

Some of the OWL examples have not been updated for this new change. 

Command-Line Options

The command line compiler creates multithreaded applications
by default. The -WM option is on by default.

If using the -i and -s command-line options together, note that the -i
must precede the -s to work properly.

Compiler/Linker Errors

If you receive the following compiler and linker error messages
when you compile from the command line:

Error: Unresolved external 'TApplication::Dispatch(TEventHandler::TEventInfo&,int,long)'
   referenced from module GDIDEMO.CPP
Error: Unresolved external 'TWindow::Dispatch(TEventHandler::TEventInfo&,int,long)'
   referenced from module GDIDEMO.CPP

it most likely means you are compiling as a multithreaded application,
but are linking with the single-threaded OWL libs. This is because
multithread is now the default application type. To remedy this, 
add -WM- to your options to turn multithreaded targeting off.

Restricted Keywords

The following keywords are reserved for use in Borland C++Builder:


Don't use these in your Borland C++ programs.

Multiple Declarations for HSZ

If the error Multiple Declarations for HSZ is displayed, you need to 
edit \BC5\INCLUDE\WN32\DDEML.H and include the following statement:

  #define __DDEML_H

STL Stack

Although unlikely, if you want to use a stack of vectors of bools,
you must define the following before any of the header files:

  #define RWSTD_NO_BOOL

OpenHelp 6.0 Upgrade Kit
The OHELP60 directory on the CD contains files that let you upgrade
to OpenHelp 6.0. If you have C++Builder installed on the same computer
as Borland C++, you already have OpenHelp 6.0. In this case, the upgrade
merges the Borland C++ and C++Builder OPENHELP.INI files.

See OPENHELP.HLP for information on using OPENHELP 6.0.

Upgrading to OpenHelp 6.0
  If you have only Borland C++ on your computer
  Run OHELPNEW.BAT. This batch file takes one parameter: The parameter 
  specifies the drive and directory in which BC5 is installed. Enter a 
  colon with the drive letter, followed by the backslash and directory 
  name, e.g. C:\BC5
  Example: OHELPNEW C:\BC5
  If you have Borland C++ and C++Builder on your computer
  Run OHELPRPL.BAT. This batch file takes two parameters: The first 
  parameter specifies the drive and directory in which BC5 is installed. 
  Enter a colon with the drive letter, followed by the backslash and 
  directory name, e.g. C:\BC5 The second parameter specifies the drive 
  where Borland programs are installed. Enter the drive letter followed 
  by a colon, e.g. D:
  Example: OHELPRPL C:\BC5 D:

/*************************  END OF FILE  ***************************/
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.