Dec 072017
 
Patch 2 for Borland C++ 4.5.

Full Description of File


BC45P2.RTP Borland C++4.5 PATCH 2
This patch file corrects the following
problems in the source and standard
libraries. The debug libraries are
patched by using the BC45P3.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 BC45P2.ZIP from The Programmer’s Corner in
Category C++ Source Code
Patch 2 for Borland C++ 4.5.
File Name File Size Zip Size Zip Type
BC45P2.RTP 466181 455817 deflated
BC45P2.TXT 19277 5888 deflated
FILE_ID.DIZ 3499 1720 deflated
TPCREAD.ME 199 165 deflated

Download File BC45P2.ZIP Here

Contents of the BC45P2.TXT file


--------------------------------------------
BC45P2.RTP Borland C++ 4.5 UPDATE PATCH 2
--------------------------------------------

---------------
*** 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 debugger symbol files (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 debugger symbol files.

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

This patch file corrects the following problems in the source and standard
libraries. The diagnostic libraries are patched by using the BC45P3.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\
AUTOGEN.EXE
GUIDGEN.EXE
MACROGEN.EXE
OWL250.DLL
OWL250.TDS *
OWL250F.DLL
OWL250F.TDS *
REGIST32.EXE
REGISTER.EXE

BC45\EXAMPLES\OWL\TUTORIAL
STEP14DV.CPP
STEP15DV.CPP
STEP16DV.CPP
STEP16DV.H
STEP17DV.CPP
STEP17DV.H

BC45\INCLUDE\OCF
AUTODEFS.H
OCVIEW.H

BC45\INCLUDE\OWL
APPDICT.H
DOCVIEW.H
EVENTHAN.H
FRAMEWIN.H
OLEDOC.H
OLEVIEW.H
OLEWINDO.H
OWLDEFS.H
VBXCTL.H
WINDOW.H

BC45\LIB
OCFWF.LIB
OCFWFI.LIB
OCFWI.LIB
OCFWIU.LIB
OCFWL.LIB
OCFWLU.LIB
OCFWM.LIB
OWLWF.LIB
OWLWFI.LIB
OWLWI.LIB
OWLWIU.LIB
OWLWL.LIB
OWLWLU.LIB
OWLWM.LIB
OWLWS.LIB

BC45\SOURCE\OCF\BOCOLE
BOLECLIP.CPP
BOLEDATA.CPP
BOLEDOC.CPP
BOLEPART.CPP
BOLESITE.CPP
BOLESVC.CPP
HASHTBL.CPP

BOLEUI\COMMON.H
BOLEUI\OLE2UI.H
BOLEUI\OLESTD.H

BOLEUI32\ANSIAPI.H
BOLEUI32\COMMON.H
BOLEUI32\OLE2UI.H
BOLEUI32\OLESTD.H


BC45\SOURCE\OCF\
MAKEFILE
OCAPP.CPP
OCDOC.CPP
OCLINK.CPP
OCPART.CPP
OCREG.CPP
OCREMVIE.CPP
OCVIEW.CPP

BC45\SOURCE\OWL
APPDICT.CPP
APPLICAT.CPP
CONTROL.CPP
DOCVIEW.CPP
MDICHILD.CPP
MDICLIEN.CPP
MENU.CPP
OLEDOC.CPP
OLEVIEW.CPP
OLEWINDO.CPP
OWL16.ORD
STGDOC.CPP
WINDOW.CPP

---------------
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 BC45P2.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 BC45P2.RTP

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

PATCH -BACKUP BC45P2.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 15 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