C++Builder 6 Update Pack 4 is now available

By: John Kaster

Abstract: Registered users of C++Builder 6 can now download update pack 4

C++Builder 6 Update Pack 4 is now available to registered users of purchased versions of C++Builder 6.

If you are wondering why this is Update 4 instead of Update 3, read this paragraph: C++Builder 6 Update Pack 3 was created for people testing C++Builder Mobile Edition. Even though most C++Builder customers do not have Update 3, some do. Update 4 has additional fixes that were not in Update 3, so even though you personally may not have seen Update 3, it is necessary to call this Update 4 to distinguish it from the limited distribution update that was made available previously.

The update is 24.2 MB for C++Builder 6 Enterprise and Professional, and 23.4 MB for Personal. The update is for the English language version of C++Builder 6 only.

Please Note: C++Builder 6 must be closed before installing this Update Pack. Also, If Delphi 7 is installed on your machine, after installing this Update Pack, copy the cc3260mt.dll file from the CBuilder6\bin folder to the Windows\System folder. This will ensure that both Delphi 7 and C++Builder 6 are using the newer version of the DLL.

The readme is shown below.


C++Builder 6
Update Pack 4
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.
 
* If Delphi 7 is installed on your machine, after installing this
  Update Pack, copy the cc3260mt.dll file from the CBuilder6\bin
  folder to the Windows\System folder. This will ensure that both
  Delphi 7 and C++Builder 6 are using the newer version of the
  DLL.
 
============================================================
CONTENTS

* WHAT'S IN THIS UPDATE PACK
* ONLINE HELP UPDATE
* FILES INCLUDED IN THIS UPDATE PACK
* BUILDING THE RTL
* REMOVING THE UPDATE

============================================================
WHAT'S IN THIS UPDATE PACK

This Update Pack includes the maintenance from Update Packs 1, 2, and
3, along with new maintenance to address the following issues.

NOTE: This readme file documents maintenance for all editions of
      C++Builder, however, installing the Update Pack will install 
      only the files appropriate for your edition.

1) Removed the "Confidential" string in the C++Builder About
   dialog.

2) Resolved problems with compiling Delphi (Object Pascal)
   source code in C++Builder 6 Upgrade (Enterprise or Professional
   editions). The problems included the inability to install third 
   party components, debug VCL source code, and other
   error messages.

3) A new compiler, linker, and makefiles are included for
   building the RTL source.  These should resolve issues with
   building the RTL that resulted in errors such as "unable to
   open file timenow.h".

4) Changed the line <LIBRARY Version> to <LIBRARY  'Version'>
   in \rtl\source\defs\version.def.

5) Removed the -Z program option in \rtl\rtlinc\xx.h (The -Z
   option is no longer supported).

6) Updated win32.mak so that the Turbo linker does not look for 
   VCL60.lib, RTL60.lib and VCLE60.lib while building "Dynamic 
   Library."  

7) 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.

8) 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.

9) TInitOleT no longer calls CoInitializeEx or CoInitialize for 
   inproc servers.

10) Fixed the define __INC_CRTDBG.

11) The SysUtils 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 reach 100% utilization.

12) Fixed intermittent access violations in RTL.BPL when creating
    a component with a published property of a type of another
    component, which is in a different package.

13) Fixed a problem with deriving a property editor from
    CLXEditors:TFontNameProperty.  The BPI file was not
    provided. 

14) The bcc compiler now resolves an inline assembly jump to a
    function.

15) The bcc compiler now compiles code containing a const member
    function.

16) To improve compatibility with source code originally
    developed for other compilers, bcc now supports an
    alternative syntax for specifying multiple function
    declaration modifiers. For example, to declare a function as
    both exported and naked, either of the following declarations
    can be used:

    __declspec(dllexport, naked) void MyFunction(); // Standard BCC syntax

    - OR -

    __declspec(dllexport) __declspec(naked) void MyFunction(); // Alternate syntax

17) ILINK no longer ignores ordinals provided in a .def file.

18) Improved double-byte character set (DBCS) support in the linker
    for handling Kanji characters.    

19) Fixed hard-coded strings in error messages.

20) Fixed an access violation with linker error LME279.    

21) Component references are no longer intermittently lost
    between components in a frame and a form due to their
    creation order.

22) Fixed run-time errors with certain variant operations on
    Windows 95/98/NT4 systems that have original (unpatched)
    versions of DCOM.

23) Fixed an access violation that occurred after resetting an
    exception during debugging on a Japanese Windows 98 machine
    with Global IME. The access violation occurred regardless of
    registry setting for ComCtl32Patch.

24) When the font size in the Code Editor is changed, the size of
    displayed tab and space characters now matches the size of
    the other characters.

25) Building a project whose path includes a plus sign (+) no
    longer results in a fatal linker error (Unable to open
    file...).

26) Printing source code on a color printer now prints the
    colored syntax highlighting.

============================================================
ONLINE HELP UPDATE

This Update Pack replaces a Help file. To refresh the C++Builder
Help indexes to accommodate the new Help file:

1. Close any instances of Windows Help that may be running.

2. Delete any *.FT? files and any hidden *.GID files in the
	 CBuilder6\Help directory.

3. Delete any BCB6*.FT? files in the Windows\Help or WinNT\Help
   directory.

4. Restart the C++Builder Help.

============================================================
FILES INCLUDED IN THIS UPDATE PACK

The following files are included in this update:

CBuilder6\Bin\bcb.exe
CBuilder6\Bin\bcb2kaxserver60.bpl
CBuilder6\Bin\bcb97axserver60.bpl
CBuilder6\Bin\bcbide60.bpl
CBuilder6\Bin\bcbide60.map
CBuilder6\Bin\bcbpro60.bpl
CBuilder6\Bin\bcbsmp60.bpl
CBuilder6\Bin\bcc32.exe
CBuilder6\Bin\bccide.dll
CBuilder6\Bin\brcide.dll
CBuilder6\Bin\cc3260.dll
CBuilder6\Bin\cc3260mt.dll
CBuilder6\Bin\clxdesigner60.bpl
CBuilder6\Bin\comp32p.dll
CBuilder6\Bin\coreide60.bpl
CBuilder6\Bin\coreide60.map
CBuilder6\Bin\cpp32.exe
CBuilder6\Bin\dclact60.bpl
CBuilder6\Bin\dclbcbsmp60.bpl
CBuilder6\Bin\dclib60.bpl
CBuilder6\Bin\designide60.bpl
CBuilder6\Bin\idefilters60.bpl
CBuilder6\Bin\ilink32.dll
CBuilder6\Bin\ilink32.exe
CBuilder6\Bin\ixxml60.dll
CBuilder6\Bin\stlp_stldebug45.dll
CBuilder6\Bin\stlp45.dll
CBuilder6\Bin\stlpmt_stldebug45.dll
CBuilder6\Bin\stlpmt45.dll
CBuilder6\Bin\tlib60.bpl
CBuilder6\Bin\vclide60.bpl
CBuilder6\Bin\xmlide.dll
CBuilder6\Help\bcb6errs.hlp
CBuilder6\Include\_str.h
CBuilder6\Include\Atl\atlcom.h
CBuilder6\Include\Atl\atlctl.h
CBuilder6\Include\crtdbg.h
CBuilder6\Include\cstring.h
CBuilder6\Include\hash_map.h
CBuilder6\Include\hash_set.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\DsnConst.hpp
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\clxdesigner.bpi
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\classes.dcu
CBuilder6\Lib\Obj\clxdesigner.dcp
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\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\makefile
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\io\close.asm
CBuilder6\Source\rtl\source\io\getdrive.c
CBuilder6\Source\rtl\source\locale\strptime.c
CBuilder6\Source\rtl\source\math\_ll.asm
CBuilder6\Source\rtl\source\misc\version.rc
CBuilder6\Source\rtl\source\pcre\pcre.c
CBuilder6\Source\rtl\source\startup\c0nt.asm
CBuilder6\Source\rtl\source\stl\makefile
CBuilder6\Source\rtl\source\time\rtltick.c
CBuilder6\Source\rtl\source\vcl\makefile
CBuilder6\Source\rtl\win32.mak
CBuilder6\Source\rtl\xx.h
CBuilder6\Source\vcl\classes.pas
CBuilder6\Source\vcl\sysutils.pas
CBuilder6\Source\vcl\utilcls.h
Windows\System32\rtl60.bpl
Windows\System32\rtl60.map

============================================================
BUILDING THE RTL

If you are building the RTL under Windows 98 and encounter the 
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 previously) installed by this
update by copying the files 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 © 2003 Borland Software Corporation.
All rights reserved.

Server Response from: ETNASC01