Dec 072017
 
Patch 3 for Borland C++ 4.5.

Full Description of File


BC45P3.RTP Borland C++4.5 PATCH 3
This patch file corrects the following
problems in the debugging library
libraries. The standard libraries are
patched by using the BC45P2.RTP patch
file.
+ new[]/delete mismatch in CONTROL.CPP.
Line 54 should be 'delete[] Title'.
+ new[]/delete mismatch in palette.cpp.
The 'delete logPal' at lines 133
and 175 should be 'delete[] logPal'.
+ new[]/delete mismatch in APPLICAT.CPP.
Line 664 should be 'delete[]
ei.Wnds' as it was allocated with
new[] on line 713.
+ Static flag added to
GetApplicationObject() which can be
set to revert to the 2.0x behavior
of always returning a valid pointer
by creating an alias if the lookup
fails.
+ The debug reg entries that allow you
to register two objects, one reg
and one debug, causes embedded servers
to crash.
+ ole2ui.h, common.h, and olestd.h
contained $Header and other misc
version control information.
+ Embedding a file which has an embedded
object is generally broken.
+ Opening a compound file that has a
link to a file that has changed
doesn't automatically update the
metafile.
+ Linking to an item does not work
in tutorial application STEP17.
+ Embedding from file causes a GPF
if the file is already open by the
container/server which created it.
+ When running any of the examples that
uses TOcApp (step14) in the
debugging kernel, it will generate
an error Invalid HWND: 0x0000.
+ In OCREG.CPP function
OcRegisterClass, there is a structure
which uses new[], but not delete[]
(line 237: new char[], line 240:
delete buf).
+ Two-level nested embedding using Visio
causes a hard hang.
+ Can't build OCF lib (large model) with
DIAGS: 'ocremvie.cpp 589:
Ambiguous operators need
parentheses...'. Changed
'State==Closing'to '(State==Closing)'.
+ If when sizing an embedded object you
take one nub and move it past its
corresponding nub, as if to flip the
image, the embedded object is lost
and cannot be reselected or shown.
+ TStorageDocument doesn't pass the
right flags when Creating and Opening
a stream.
+ OWLRTFAR fails to place response table
in far data segment. When OWLRTFAR is
defined, __RTFAR is defined as 'far'
[EVENTHAN.H]. However, OSL's DEFS.H
defines 'far' as nothing
[when BI_NEAR_DATA is not defined].
'__RTFAR' ends up as nothing.
+ Temp storage files are being left
behind after IStorage is released.
+ Changes were made in TDocument
CanClose to not close if > 1 view is
open. This is wrong & should be
restored to original.
+ Source\OCF\makefile: make -B MODEL=s
does not work. Numerous errors
occur related to exceptions being
turned off.
+ DLLHELLO fails when called from a
non-OWL application: there's no
TApplication for the non-OWL task and
DLLHELLO does not create one.
+ Command enabling for nested poup menus
is not working as it did in OWL 2.0.
The menu item is initially disabled
(by default).
+ For MDI applications, creating and
opening child windows corrupted
the child window list.
+ Header files shipped with BVSP rely on
__OWL_OWLDEFS_H (with the leading
underscores) to be defined. Dropping
the underscores in 4.5
causes the BVSP headers to break.
Should add this define to owldefs.h
+ The BOCOLE source shipped does not
build the same version of the library
as was shipped.


File BC45P3.ZIP from The Programmer’s Corner in
Category C++ Source Code
Patch 3 for Borland C++ 4.5.
File Name File Size Zip Size Zip Type
BC45P3.RTP 1033844 1018148 deflated
BC45P3.TXT 17939 5448 deflated
FILE_ID.DIZ 3500 1719 deflated
TPCREAD.ME 199 165 deflated

Download File BC45P3.ZIP Here

Contents of the BC45P3.TXT file


--------------------------------------------
BC45P3.RTP Borland C++ 4.5 UPDATE PATCH 3
--------------------------------------------

---------------
*** 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.
Due to the size of the OWL diagnostic libraries (provided only on
the CD-ROM) they are not installed to your hard drive. If you are
using these files you will need to copy them to your hard drive
before applying the patch. If you do not have these files on your
hard drive the patch utility will report that it was unable to patch
those files. This message is normal and expected. In the modified
files list below an asterisk is used to indicate which files are part
of the diagnostic files.

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

This patch file corrects the following problems in the diagnostics libraries.
To patch the standard libraries use the BC45P2.RTP patch file.

+ new[]/delete mismatch in CONTROL.CPP. Line 54 should be 'delete[] Title'.
+ new[]/delete mismatch in palette.cpp. The 'delete logPal' at lines 133
and 175 should be 'delete[] logPal'.
+ new[]/delete mismatch in APPLICAT.CPP. Line 664 should be 'delete[]
ei.Wnds' as it was allocated with new[] on line 713.
+ Static flag added to GetApplicationObject() which can be set to revert
to the 2.0x behavior of always returning a valid pointer by creating
an alias if the lookup fails.
+ The debug reg entries that allow you to register two objects, one reg
and one debug, causes embedded servers to crash.
+ ole2ui.h, common.h, and olestd.h contained $Header and other misc
version control information.
+ Embedding a file which has an embedded object is generally broken.
+ Opening a compound file that has a link to a file that has changed
doesn't automatically update the metafile.
+ Linking to an item does not work in tutorial application STEP17.
+ Embedding from file causes a GPF if the file is already open by the
container/server which created it.
+ When running any of the examples that uses TOcApp (step14) in the
debugging kernel, it will generate an error Invalid HWND: 0x0000.
+ In OCREG.CPP function OcRegisterClass, there is a structure which uses
new[], but not delete[] (line 237: new char[], line 240: delete buf).
+ Two-level nested embedding using Visio causes a hard hang.
+ Can't build OCF lib (large model) with DIAGS: 'ocremvie.cpp 589:
Ambiguous operators need parentheses...'. Changed 'State==Closing' to
'(State==Closing)'.
+ If when sizing an embedded object you take one nub and move it past its
corresponding nub, as if to flip the image, the embedded object is lost
and cannot be reselected or shown.
+ TStorageDocument doesn't pass the right flags when Creating and Opening
a stream.
+ OWLRTFAR fails to place response table in far data segment. When
OWLRTFAR is defined, __RTFAR is defined as 'far' [EVENTHAN.H].
However, OSL's DEFS.H defines 'far' as nothing [when BI_NEAR_DATA is
not defined]. '__RTFAR' ends up as nothing.
+ Temp storage files are being left behind after IStorage is released.
+ Changes were made in TDocument CanClose to not close if > 1 view is
open. This is wrong & should be restored to original.
+ Source\OCF\makefile: make -B MODEL=s does not work. Numerous errors
occur related to exceptions being turned off.
+ DLLHELLO fails when called from a non-OWL application: there's no
TApplication for the non-OWL task and DLLHELLO does not create one.
+ Command enabling for nested poup menus is not working as it did in OWL 2.0.
The menu item is initially disabled (by default).
+ For MDI applications, creating and opening child windows corrupted
the child window list.
+ Header files shipped with BVSP rely on __OWL_OWLDEFS_H (with the
leading underscores) to be defined. Dropping the underscores in 4.5
causes the BVSP headers to break. Should add this define to owldefs.h
+ The BOCOLE source shipped does not build the same version of the library
as was shipped.

--------------- -----
Files Modified Debug
--------------- -----

BC45\BIN\
OWL250D.DLL *
OWL250D.TDS *
OWL250DF.DLL *
OWL250DF.TDS *

BC45\LIB
OWLDWF.LIB *
OWLDWFI.LIB *
OWLDWI.LIB *
OWLDWL.LIB *
OWLDWM.LIB *
OWLDWS.LIB *

---------------
Instructions
---------------
Applying the patch file requires PATCH.EXE, which you will find
available for download from CompuServe, GEnie, BIX, Borland's
Download BBS (DLBBS), and via Internet at ftp.borland.com.

*** Note: Use PATCH.EXE 2.11, PATCH.EXE 2.10 and PATCH.COM are not
compatible with the newer patches built for the 2.11 executable.
PATCH.EXE 2.11 may be used to apply patches built for PATCH.EXE 2.10.

1) Copy BC45P3.RTP and PATCH.EXE into your \BC45 directory, or
to the root directory of the drive containing BC++ 4.5.

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

C:\> CD \BC45

3) Enter the following command at the DOS prompt:

PATCH BC45P3.RTP

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

PATCH -BACKUP BC45P3.RTP

Backup copies of the original files will be placed into a directory
called BACKUP. Be sure that you have enough extra disk space before
using the -BACKUP switch (about 25 MB).

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

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.


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 '


 December 7, 2017  Add comments

Leave a Reply