--------------------------------------------
 BC50P1.RTP Borland C++ 5.0 UPDATE PATCH 1
--------------------------------------------
---------------
*** Notice ***
---------------
This patch is intended for use only with Borland language products.
The resulting file(s) are subject to the terms of the No-nonsense
License Agreement which shipped with the Borland language product
you purchased.

Note:  Because CD-ROMs are not writable, this patch requires that
Borland C++ be installed on to your hard drive before being applied.

For the latest technical information, patches, and updates, be sure to
check the following locations:

World Wide Web:  http://www.borland.com
CompuServe:      GO BCPP, section 3, "From Borland"
FTP:             ftp.borland.com
BBS:             (408)431-5096. 8-N-1 (8 bits, No parity, 1 stop bit)
Listserv:        listserv@borland.com  Send an email message
                 containing this text:

     SUBSCRIBE<space>BCPP<space>FIRSTNAME<space>LASTNAME

---------------
Purpose
---------------

This patch file addresses the following problems:

   The ClassExpert item on the local menu of a new menu
   item is disabled unless one clicks one of the
   existing menu items and then switches back.

   The Snap to Grid menu item under the Dialog menu needs to
   indicate ability to toggle on/off and to show current state.

   Identifiers are not being created based on the settings in the
   Identifiers page in some cases.

   Test mode does not work under Win95 in certain cases.

   When docking the control palette onto the top SpeedBar, and
   then switching to the resource project window and back, the control
   palette disappears.

   When entering help text for a menu item, pressing enter may be
   required to see the help text.

   The RC window that opens after resource compile errors
   may not paint.

   The Undo limit in the Environment|Resources MPD page is ignored.

   When the rc file is open in a text editor read only, the rc
   project will open read only as well

   On older projects, Generate Makefile fails to strip $ENV on
   some entries.

   Changing the name of a menu item to one that is shorter
   than the name it replaces may introduce extraneous characters.

   View | Edit Resources on an EXE node
   in the IDE project menu does not bring up Resource Workshop.

   The Resource Workshop eyedropper color may be inconsistent.

   File save button and menu enabling may not be consistent for RC
   files.

   Resource Workshop uses an editor type rather than unique ID's to mark undo
   objects.  Undo objects may apply to an editor that has been closed.

   OWL apps dynamically linked do not release the BC50RTL.DLL when shut
   down.

   Resource Workshop: Users cannot override the defaults given in the
   Command Notifications dialog.

   When changing the range of an inspector, it new setting may not
   take effect until the inspector refreshes.

   An application generated by AppExpert has a CodeGuard error.

   It isn't possible to add instance variables for the new Common Controls.

   Java Support: There is an error in a return value in BCWJAVA.SPP.

   GUIDGEN.EXE crashes on Windows NT.

   Some virtual keys cannot be recorded in the Menu Editor recorder.

   Any action set on a breakpoint appears in the breakpoint view
   as a log expression action.

   Extended character support is not provided for some resource projects.

   New menu items from Resource Workshop may not appear within ClassExpert.

   There are cases of Resource Workshop not recognizing AppExpert
   objects for resource projects newly opened from AppExpert.

   Events for Win95 common controls are not supported in Resource Workshop.

   IUnknownImp::Release() in include\ideaddon\comhelp.h is not calling
   delete when it's count reaches zero.

   The View menu for the IDE Project window's local menu may contain
   duplicate entries for Resource Workshop when an .RC node is selected.

   Obsolete tools (like WORKSHOP.EXE) may show on the Options|Tools
   listing for example projects.

   After rescanning an AppExpert project while the RC project is
   open, creating a new dialog via class expert will cause a page fault.

   Installing to a Novell network location may cause messages, "File Open,
   installing in delayed mode", which will cause some files not to be
   installed.

   When files are open in edit views, classexpert always navigates in the
   edit view, not in it's edit pane.

   The help button on the common file dialogs does nothing.

   After attempting to open a broken rc file, subsequent saves of a
   good rc project will page fault in rw32ui.dll

   Windows 95 only: When system is set to 16 colors, 16 color option for
   cursor editor is disabled in: 1) New Cursor Project Options 2) New
   Resource Options and 3) Cursor Image Attributes

   Windows 95 only: When system is set to 16-bit (high color), 256 is
   grayed out (disabled) on Cursor Image Attributes dialog.  Works fine
   when system is set to 256 colors.

   If a file is not explicitly closed before returning from main, the
   exit code closes without flushing the buffer.

   Calling the ReplaceAll method in the example SRCHALL.SPP may cause
   a GPF.

   Events from VBX controls not showing up in the events pane

   Deleting a VDBT control, adding a new control of the same type and
   then renaming the CtlName of the new control to the same as the
   previously deleted control (preserving the links to the old
   control on the form) prevents the dialog from being reloaded.

   TDBLookupList shows drive letters in its listbox.

   When AutoDisplay is set to false in a TDBMemo control, deleting
   the displayed field name deletes the actual data.

   Creating a master-detail relationship between a local table and
   a table on an Oracle server causes a crash in BIVBX30.DLL.

   On NT pasting a large bitmap into a TDBImage control results in
   an access violation.

   Connecting to any database besides a local Paradox/dBase database
   via a TQuery in the dialog editor causes multiple login dialogs
   followed by false errors.

   Changing a TDBEdit controls caption in design mode causes a
   database transaction.

   TQuery: for some SQL statements with the RequestLive property
   set to true the TDBNavigator Next, Previous, First, and Last
   buttons become disabled.

   Items and Values dialogs help buttons are not working on NT.

   A read-only TQuery added to a dialog form causes other
   non-read-only datasert on a dialog to be uneditable.

   The LookupSource property value of TDBLookupListbox and
   TDBLookupComboBox are being ignored.

   VDBT Performance on Windows NT has been greatly enhanced.

   There is a method to attach a VDBT control to an existing
   data-access object but not one to attach a data-access object to
   VDBT control. It has been addressed as follows:

       A new method, called AttachToControl, has been added to the 6
       "OWL style" (BDTO.H) programmatic data access classes which
       correspond to the data access VBXs (TBatchMove, TDatabase,
       TDataSource, TQuery, TStoredProc, and TTable). The prototype
       of this method is:

          void AttachToControl( HWND hdlg, int idc);

          hdlg is the HWND of the dialog box which has the data access VBX.
          idc is the id of the data access VBX.

       The purpose of the method is to attach an "OWL style"
       programmatic data access object to the COM object associated
       with a data access VBX. There is a corresponding constructor which
       allows initialization of a data access object in this fashion.
       The new method AttachToControl was added so that the attachment
       to the VBX can be performed after the data access object has
       already been constructed, for instance during the SetupWindow
       method of a class deriving from TDialog.

---------------
Instructions
---------------
Applying the patch file requires PATCH.EXE, which you will find
on your Borland C++ 5.0 CD in the \SETUP\MFC32 directory.
In addition, patch is available for download from CompuServe, GEnie,
BIX, Borland's Download BBS (DLBBS), via Internet at ftp.borland.com and
on your Borland C++ 5.0 CD in the \SETUP\MFC32 directory.

1) Copy BC50P1.RTP and PATCH.EXE into your \BC5 directory, or
   to the root directory of the drive containing BC++ 5.0.

2) Change directories to the directory used in step 1.  For a
   default installation, enter the following commands at the
   DOS prompt:

       C:\> CD \BC5

3) Enter the following command at the DOS prompt:

       PATCH BC50P1.RTP

To create backup copies of the original files while patching use:

       PATCH -BACKUP BC50P1.RTP

Backup copies of the original files will be placed into a directory called
BACKUP.  If you create a backup, make sure that you have at least 35 MB
free or the patch may fail.

---------------
Troubleshooting
---------------

Patch.exe is a DOS executable.  If you experience crashes during
the application of the patch under Windows NT 3.51, use Windows 95
or DOS instead.

If PATCH.EXE is unable to locate the correct files to
patch, you will see the message:

       Warning wpt0015: Old File does not exist

This may indicate one of the following cases:

1) You have previously deleted one or more files from your
   installation that PATCH.EXE has attempted to patch.  In
   this case, PATCH.EXE will skip the files you have deleted.
   If you wish to replace a missing file, you must first
   reinstall from your master diskettes before applying the
   patch.

2) You have copied PATCH.EXE and the RTP patch file to the wrong
   directory or drive.  In this case, verify the directory
   name in which you have installed and make sure PATCH.EXE
   and the RTP patch file on the same drive and in a directory
   above or equal to that installation.

3) When you installed you chose not to install one or more of
   the files that PATCH.EXE has attempted to patch.  In this case,
   PATCH.EXE will skip the files you did not install.  If you wish
   to add a missing file, you must first install from your master
   diskettes before applying the patch.

   This patch includes files for CodeGuard and Java support, which
   are only available in the Borland C++ Developer's Suite. Some
   messages you see may relate to these files, but the failure
   to install them will not prevent the successful patching of
   any files present on your system.


PATCH.EXE will report the following message if it
determines that a file does not need to be patched:

       New Version of File 'FILENAME' already exists.

This may indicate one of the following cases:

1) You have purchased a recent copy of the software in
   which the software changes have already been introduced.

2) You have already applied the patch.

In either case, PATCH.EXE has verified that your software is
up to date and you need not take further action.

error ept0001: Illegal Input Option '<Option>'
---------------------------------------------
The specified option is either an invalid option or the PATCH user
does not have the user level to allow the use of the option.

error ept0002: Insufficient Memory
---------------------------------
PATCH needs a certain amount of memory free for its internal tables.
There was insufficient memory available when PATCH was run.

error ept0003: Valid Password not entered. Patch File can not be applied
-----------------------------------------------------------------------
The PATCH user did not enter the valid password for this patch file.
Remember that passwords are case sensitive.

error ept0004: Specified Update Directory '<DirName>' does not exist
-------------------------------------------------------------------
The PATCH user specified a directory to update but that directory
does not exist.

error ept0005: Specified [Update|Backup] Directory '<DirName>' is
               not a valid directory.
----------------------------------------------------------------
The user specified a directory name either for the Update or the
Backup directory that is not a valid directory name. An existing file
with the same name as the specified directory could cause this message.

error ept0006: Can Not Find Patch File '<FileName>'
--------------------------------------------------
PATCH was not able to locate the specified PATCH file.


error ept0007: Error Opening Patch File
--------------------------------------
PATCH was able to locate the patch file but could not open the file
to read from it. This could be a DOS error or a corrupted disk.


error ept0008: PATCH.EXE and Patch File incompatible - Need to
               update PATCH.EXE
--------------------------------------------------------------------------------
PATCH.EXE and the patch file are incompatible versions. PATCH.EXE can
update any old versions of patch files but not ones created with a
newer version of the data file format. You need to get a newer version
of the PATCH program to apply this patch.


error ept0009: Invalid Patch File '<Name>'
-------------------------------------
PATCH.EXE was unable to read correct information from the patch file.
The specified file is either not a patch file or has been corrupted.
Get a new copy of the file and rerun PATCH.


error ept0010: Failure Creating Backup Directory '<DirName>'
-----------------------------------------------------------
PATCH was unable to create the specified Backup Directory.


error ept0011: Failure Creating Backup Log File '<FileName>'
-----------------------------------------------------------
PATCH was unable to create the file containing information about what
files were backed up.


error ept0012: Failure Opening Backup Source File '<FileName>'
-------------------------------------------------------------
PATCH was unable to open the file to be backed up.


error ept0013: Failure Opening Backup Destination File '<FileName>'
------------------------------------------------------------------
PATCH was unable to open the new file to copy the original file to.


error ept0014: Failure Writing Backup File '<FileName>'
------------------------------------------------------
PATCH was unable to write the original file to the backup version.


error ept0015: Old File does not exist
-------------------------------------
PATCH needs bytes from the existing version of a  file in order to
build the new file. However, it was unable to locate the old file.


error ept0016: New File already exists.
--------------------------------------
There already exists a file by the same name as the new file being
built. The existing file will be copied to the backup directory if
the BACKUP option is on.


error ept0017: Failure Opening Old File: 'filename'
---------------------------------------------------
PATCH was able to locate the old version of a file but the open
failed. This is probably caused by a DOS error. Try rerunning PATCH.


error ept0018: Failure Opening New File: '<FileName>'
-----------------------------------------------------
PATCH was unable to open the named file. It was attempting to open
this file to create a file for the updated version of the system.
This can be caused by a disk or network error or if a directory exists
by the same name as the file that PATCH is trying to open.


error ept0019: Failure Writing to File
-------------------------------------
An error occurred while PATCH was trying to write bytes to a new
file.


error ept0020: Failure Reading from File
---------------------------------------
An error occurred while PATCH was trying to read bytes from an old
file.


error ept0021: Failure Seeking to Position in File
-------------------------------------------------
PATCH was unable to seek to a position within a file. This is probably
caused by a DOS error or corrupted disk.  Retry running the patch.


error ept0022: Failure Renaming File
-----------------------------------
PATCH was unable to rename a file. This is probably caused by a DOS
error or corrupted disk. Try rerunning PATCH.


error ept0023: Patch for '<FileName>' not found in Patch File
------------------------------------------------------------
PATCH was unable to find an entry in the patch file matching
the entry name specified by the user on the FILE option. Try using
the LIST option to get a list of the entries in the patch file.


error ept0024: New File already exists.
---------------------------------------
The specified file has already been patched. PATCH does not need
to patch this file.


error ept0025: Verify of New File Failed. Possible Internal Error.
-----------------------------------------------------------------
The file PATCH built is not valid. Users should never see this
message.


error ept0026: Failure Creating Overflow File: 'FileName'
---------------------------------------------------------
PATCH was unable to open a file for its overflow information. This is
probably cause by a DOS error or by a full disk drive.


error ept0027: Overflow File Write Failure
----------------------------------------------------------------------
PATCH was unable to read from the overflow table it created to hold
data that did not fit in its internal tables. This was probably
caused by some sort of DOS error or a corrupted disk or there was
insufficient room on the disk for the file.


error ept0028: Overflow File Read Failure
----------------------------------------
PATCH was unable to read from the overflow table it created to hold
data that did not fit in its internal tables. This was probably
caused by some sort of DOS error or a corrupted disk.


error ept0029: Insufficient Disk Space to Apply Patch - You need
               at least <Size> bytes free on drive <DriveLetter>
               for <Feature>.
----------------------------------------------------------------
PATCH needs at least the specified number of bytes to perform the
patch process. If UNDO or BACKUP is ON, PATCH needs room to backup
all of the file making up the original system and also the room
needed to build the new system. If both BACKUP and UNDO are OFF,
PATCH only needs room to backup the biggest of the files being
patched.


error ept0030: Error opening serialization file '<FileName>'
-----------------------------------------------------------
PATCH either could not find the serialization file or the open
failed. If the open failed, the probable cause is some kind of DOS
error, retry the operation.


error ept0031: Error reading serialization file '<FileName>'
-------------------------------------------------------------
PATCH cannot seek to the correct position in the serialization file
or read the correct number of bytes from the file. Possible causes
are invalid positions and lengths specified while running PATCHBLD.

error ept0032: Failure Setting File's Time/Date Stamp
-------------------------------------------------------------
PATCH was unable to set the time/date stamp for the updated
file or for a file freshly backed up. This error should never
occur but if it does would probably be caused by some kind of
disk failure or network file sharing problem.

error ept0033: Failure creating temporary file.
-----------------------------------------------
PATCH was unable to create a temporary file to hold the new file
or to hold overflow information. Try rerunning PATCH and if it still
does not work reduce the number of temporary files required by
disabling BACKUP and UNDO.

error ept0034: Neither command line parameter specifed is an existing directory
-------------------------------------------------------------------------------
Multiple parameters were given on the PATCH command line that were neither
valid PATCH options or existing directories. If the user specifies multiple
parameters, at least one must be a valid existing update directory.


error ept0035: Only one file and one directory may be specified on command line
-------------------------------------------------------------------------------
The user specified more than one patch file and one update directory on the
PATCH command line.


error ept0036: Old file not found. However, a file of the same name was
               found. No update done since file contents do not match.
-----------------------------------------------------------------------------
PATCH was unable to locate an exact match for the original file to
be updated. However, PATCH was able to locate a file with the same
name as the original file. However, the file found did not have either
the same size or checksum as the actual original file that PATCH is
seeking in order to perform the update.


error ept0037: Error opening error message file.
-----------------------------------------------------------------------------
PATCH was unable to open the file PATCH.ERR for storing error messages.
The probable cause is some kind of DOS error, retry the operation or specify
the NOERRORFILE option on the PATCH command line.


