What's in the BCB6 update 2?

By: Anders Ohlsson

Abstract: The README and the fix list for update 2 for BCB6

Here's the README.TXT and the fix list for BCB6 update 2.

The update itself can be downloaded by clicking here.

README.TXT

C++Builder 6

Update Pack 2

Release Notes





============================================================



This file contains important supplementary and late-breaking

information that may not appear in the main product

documentation, and supersedes information contained in other

documents, including previously installed release notes,

that accompany this product. We recommend that you read this

file in its entirety.



IMPORTANT:

 C++Builder 6 must be closed before installing this Update

 Pack.





============================================================

CONTENTS



* WHAT'S IN THIS UPDATE PACK

* BUILDING THE RTL

* REMOVING THE UPDATE





============================================================

WHAT'S IN THIS UPDATE PACK



This Update includes a new compiler, linker and makefiles for

building the RTL source.  These should resolve issues regarding 

building the RTL that resulted in errors such as "unable to

open file timenow.h" and other similar errors.



This update includes the following changes:



1) The following files have been added or modified:



       CBuilder6\Bin\BCB.EXE

       CBuilder6\Bin\bcb2kaxserver60.bpl

       CBuilder6\Bin\bcb97axserver60.bpl

       CBuilder6\Bin\bcbide60.bpl

       CBuilder6\Bin\bcbide60.map

       CBuilder6\Bin\bcbsmp60.bpl

       CBuilder6\Bin\bcc32.exe

       CBuilder6\Bin\bccide.dll

       CBuilder6\Bin\cc3260.dll

       CBuilder6\Bin\cc3260mt.dll

       CBuilder6\Bin\comp32p.dll

       CBuilder6\Bin\coreide60.bpl

       CBuilder6\Bin\coreide60.map

       CBuilder6\Bin\cpp32.exe

       CBuilder6\Bin\dclbcbsmp60.bpl

       CBuilder6\Bin\ilink32.dll

       CBuilder6\Bin\ilink32.exe

       CBuilder6\Bin\stlp_stldebug45.dll

       CBuilder6\Bin\stlp45.dll

       CBuilder6\Bin\stlpmt_stldebug45.dll

       CBuilder6\Bin\stlpmt45.dll

       CBuilder6\Include\hash_map.h

       CBuilder6\Include\hash_set.h

       CBuilder6\Include\_str.h

       CBuilder6\Include\Atl\atlcom.h

       CBuilder6\Include\Atl\atlctl.h

       CBuilder6\Include\crtdbg.h

       CBuilder6\Include\cstring.h

       CBuilder6\Include\oldstl\cstring.h

       CBuilder6\Include\pcre.h

       CBuilder6\Include\poppack.h

       CBuilder6\Include\pshpack1.h

       CBuilder6\Include\pshpack2.h

       CBuilder6\Include\pshpack4.h

       CBuilder6\Include\pshpack8.h

       CBuilder6\Include\stl\_bitset.h

       CBuilder6\Include\stl\_ios.h

       CBuilder6\Include\stl\_ios_base.h

       CBuilder6\Include\stl\c_locale.h

       CBuilder6\Include\Vcl\clx.hdp

       CBuilder6\Include\Vcl\clx1.hdp

       CBuilder6\Include\Vcl\clx2.hdp

       CBuilder6\Include\Vcl\clxc1.hdp

       CBuilder6\Include\Vcl\clxc2.hdp

       CBuilder6\Include\Vcl\utilcls.h

       CBuilder6\Include\Vcl\vcl.hdp

       CBuilder6\Include\Vcl\vcl1.hdp

       CBuilder6\Include\Vcl\vcl2.hdp

       CBuilder6\Include\Vcl\vcl3.hdp

       CBuilder6\Include\Vcl\vcl4.hdp

       CBuilder6\Include\Vcl\vcla1.hdp

       CBuilder6\Include\Vcl\vcla2.hdp

       CBuilder6\Include\Vcl\vcla3.hdp

       CBuilder6\Include\Vcl\vclc1.hdp

       CBuilder6\Lib\bcb2kaxserver.lib

       CBuilder6\Lib\bcb97axserver.lib

       CBuilder6\Lib\bcbatl.lib

       CBuilder6\Lib\bcbsmp.lib

       CBuilder6\Lib\c0d32.obj

       CBuilder6\Lib\c0d32w.obj

       CBuilder6\Lib\c0d32x.obj

       CBuilder6\Lib\c0pkg32.obj

       CBuilder6\Lib\c0s32.obj

       CBuilder6\Lib\c0w32.obj

       CBuilder6\Lib\c0w32w.obj

       CBuilder6\Lib\c0x32.obj

       CBuilder6\Lib\c0x32w.obj

       CBuilder6\Lib\cp32mt.lib

       CBuilder6\Lib\cp32mti.lib

       CBuilder6\Lib\cw32.lib

       CBuilder6\Lib\cw32i.lib

       CBuilder6\Lib\cw32mt.lib

       CBuilder6\Lib\cw32mti.lib

       CBuilder6\Lib\Debug\rtl.bpi

       CBuilder6\Lib\Debug\rtl.lib

       CBuilder6\Lib\import32.lib

       CBuilder6\Lib\Obj\dclaxserver.dcp

       CBuilder6\Lib\Obj\rtl.dcp

       CBuilder6\Lib\Obj\sysutils.dcu

       CBuilder6\Lib\Release\rtl.bpi

       CBuilder6\Lib\Release\rtl.lib

       CBuilder6\Lib\stlp.lib

       CBuilder6\Lib\stlp_stldebug.lib

       CBuilder6\Lib\stlp_stldebugi.lib

       CBuilder6\Lib\stlpi.lib

       CBuilder6\Lib\stlpmt.lib

       CBuilder6\Lib\stlpmt_stldebug.lib

       CBuilder6\Lib\stlpmt_stldebugi.lib

       CBuilder6\Lib\stlpmti.lib

       CBuilder6\Lib\usebormm.lib

       CBuilder6\MergeModules\basertl.msm

       CBuilder6\Source\Rtl\makefile

       CBuilder6\Source\Rtl\rtlinc\xx.h

       CBuilder6\Source\Rtl\Source\defs\makefile

       CBuilder6\Source\Rtl\Source\defs\asycfilt.def

       CBuilder6\Source\Rtl\Source\defs\authz.def

       CBuilder6\Source\Rtl\Source\defs\avicap32.def

       CBuilder6\Source\Rtl\Source\defs\avifil32.def

       CBuilder6\Source\Rtl\Source\defs\cabinet.def

       CBuilder6\Source\Rtl\Source\defs\certadm.def

       CBuilder6\Source\Rtl\Source\defs\credui.def

       CBuilder6\Source\Rtl\Source\defs\cryptnet.def

       CBuilder6\Source\Rtl\Source\defs\cryptui.def

       CBuilder6\Source\Rtl\Source\defs\dbgeng.def

       CBuilder6\Source\Rtl\Source\defs\dnsapi.def

       CBuilder6\Source\Rtl\Source\defs\dsuiext.def

       CBuilder6\Source\Rtl\Source\defs\esebcli2.def

       CBuilder6\Source\Rtl\Source\defs\gdiplus.def

       CBuilder6\Source\Rtl\Source\defs\ksuser.def

       CBuilder6\Source\Rtl\Source\defs\monitors.def

       CBuilder6\Source\Rtl\Source\defs\netsh.def

       CBuilder6\Source\Rtl\Source\defs\nmsupp.def

       CBuilder6\Source\Rtl\Source\defs\npptools.def

       CBuilder6\Source\Rtl\Source\defs\powrprof.def

       CBuilder6\Source\Rtl\Source\defs\sisbkup.def

       CBuilder6\Source\Rtl\Source\defs\srclient.def

       CBuilder6\Source\Rtl\Source\defs\toolbar.def

       CBuilder6\Source\Rtl\Source\defs\usp10.def

       CBuilder6\Source\Rtl\Source\defs\uxtheme.def

       CBuilder6\Source\Rtl\Source\defs\version.def

       CBuilder6\Source\Rtl\Source\math\_ll.asm

       CBuilder6\Source\Rtl\Source\misc\version.rc

       CBuilder6\Source\Rtl\Source\io\close.asm

       CBuilder6\Source\Rtl\Source\io\getdrive.c

       CBuilder6\Source\Rtl\Source\locale\strptime.c

       CBuilder6\Source\Rtl\Source\pcre\pcre.c

       CBuilder6\Source\Rtl\Source\startup\c0nt.asm

       CBuilder6\Source\Rtl\Source\time\rtltick.c

       CBuilder6\Source\Rtl\Source\stl\makefile

       CBuilder6\Source\Rtl\Source\vcl\makefile

       CBuilder6\Source\Rtl\win32.mak

       CBuilder6\Source\vcl\utilcls.h

       CBuilder6\Source\vcl\sysutils.pas

       SYSTEM32\RTL60.BPL

       SYSTEM32\RTL60.MAP



2) Changed the line  to 

   in \rtl\source\defs\version.def.

3) Removed the -Z program option in \rtl\rtlinc\xx.h (The -Z

   option is no longer supported).

4) Updated win32.mak so that the Turbo linker does not look for 

   VCL60.lib, RTL60.lib and VCLE60.lib while building "Dynamic 

   Library."  

5) Fixed a problem where PATHCPP, PATHASM, PATHPAS, PATHRC and

   other macros would increase in size each time a file was

   added to the project, even if the added directory was on

   the list.

6) Fixed a problem where the main .cpp file and .bpf files were

   not always saved with the correct name when saving package and

   DLL projects to a new name.

7) TInitOleT no longer calls CoInitializeEx or CoInitialize for 

   inproc servers.

8) Fixed the define __INC_CRTDBG.

9) SYSUTILS UPDATE

   This update repairs a problem with Delphi 6 that could produce 

   deadlock. Typically, this would happen in a web application when 

   many web modules were being created due to a heavy load. Once this

   occurred, the web application would stop responding to further 

   requests and the CPU would typically be at 100% utilization. This 

   update will correct the problem.



============================================================

BUILDING THE RTL



If you are building the RTL under Windows 98 and run into an 

error "Unable to open file MEMMGR.LIB" copy the file ilink32.cfg 

from the $(BCB)\bin directory to the $(BCB)\source\rtl\lib directory.  





============================================================

REMOVING THE UPDATE



There is no uninstall to remove the update. To restore your

C++Builder 6 installation to its pre-update state, you must

manually replace the files (listed above) installed by this

update by copying the originals from your original

C++Builder 6 CD image.



Important:

 Bcb.exe, replaced by this update, is not provided as a

 separate file on your original C++Builder 6 CD.Thus, if

 you think you may need to remove this update for any

 reason, you should back up bcb.exe (located in your

 \CBuilder6\Bin directory) before installing the update.





============================================================

Copyright (c) 2002 Borland Software Corporation.

All rights reserved.


Fix list

Defect #: 123228 - Status: Resolved

Defect #: Date Reported:
123228 11/12/2001
Project: Version:
C++Builder 6.0
Area:
ActiveXFramework
Description:
This is something that has REALLY bugged me in the past... the TInitOleT class and the fact that it calls CoInitXXX in inproc servers!! according to all MS docs this something inproc servers ABSOLUTELY must NOT do. It leads to all kinds of wierd behaviour in multithread applications, which uses COM servers. The onus is always on the calling thread to init the COM subsystem. It leads to asymetric calls to CoInitXX and CoUninitXX this causing hung applications. I see this was discussed before, nothing came of it, we REALLY need to address this, problem, we do not need to remove the class just modify it not to be used in in-proc servers.

Defect #: 127885 - Status: Resolved

Defect #: Date Reported:
127885 2/5/2002
Project: Version:
C++Builder 6.0
Area:
ActiveXFramework
Description:
utilcls.h has an invalid check for __INC_CRTDBG because crtdbg.h defines _INC_CRTDBG

Defect #: 128258 - Status: Closed

Defect #: Date Reported:
128258 2/8/2002
Project: Version:
C++Builder 6.0
Area:
RTLC++Header Files
Description:
The headers pshpackX.h have a critical bug in them. They do not change the current alignment because they have the following line in them:
top -
#pragma option push -b -a8 -pc -A- /*P_O_Push*/


very end -
#pragma option pop /*P_O_Pop*/

Defect #: 129887 - Status: Closed

Defect #: Date Reported:
129887 2/28/2002
Project: Version:
C++Builder 6.0
Area:
IDEProject Management
Description:
Each time you add a .cpp file to a project, the files's path is added to the PATHCPP macro in the BPR file. It doesn't check for duplicates, though. So if you repeatedly add many files from the same directory, you end up with many duplicated directories in the PATHCPP macro.

The same is true for:

.pas files and PATHCPP
.asm files and PATHASM
.rc fiels and PATHRC

Per the public newsgroups, this can cause AVs when the path gets extremely long

See bug 129888 for BCB/Linux

Defect #: 131885 - Status: Closed

Defect #: Date Reported:
131885 3/27/2002
Project: Version:
C++Builder 6.0
Area:
RTLC++
Description:
The version information in the *SHIPPING* RTL DLL's still states that it is an informal build and pre-release/alpha build

Defect #: 132544 - Status: Closed

Defect #: Date Reported:
132544 4/4/2002
Project: Version:
C++Builder 6.0
Area:
IDEFile Handling
Description:
after saving package file into the different file name, trying to open package fie in new name failed with 'Unable to open <new>.cpp' error


[ true in Cortez/BCB : unable to find <new>.bpf : 132543]

Defect #: 134197 - Status: Closed

Defect #: Date Reported:
134197 4/23/2002
Project: Version:
C++Builder 6.0
Area:
IDEProject Management
Description:
File/Save As... of a share object project does not save the .bpf file to the new location.

[ true in Cortez/BCB : 134188]

Server Response from: ETNASC03