Borland®
Shop
Products Downloads Services Support Partners News & Events Company Community
Delphi
Documentation
Support

Additional Resources
Technology Partners
Books
Community

 DELPHI DEVELOPER SUPPORT

Delphi 3 Client/Server Update Patch:
Delphi 3 Client/Server Maintenance Release 2

Instructions for Use
This patch is intended for use with the Client/Server version of the Delphi 3 update (Maintenance Release 1). Do not attempt to use this patch with another version. There are separate patches for the Standard and Professional versions.

NOTE
Because of filename collisions, this patch does not include updates to the .DCU files in the SLIB directory. If you use these files for debugging, be sure to install the SLIB patch as well.

Instructions:

  1. Copy dcs302.exe to the "root" of your Delphi 3 installation. (by default, C:\Program Files\Borland\Delphi 3).
  2. Close Delphi and all Delphi applications that use packages.
  3. Run dcs302.exe.
  4. Recompile all your Delphi projects to incorporate the fixes.

Changed Files
Files changed by this patch:

\LIB\COMCTRLS.DCU
\SOURCE\VCL\COMCTRLS.PAS
\LIB\COMOBJ.DCU
\SOURCE\RTL\SYS\COMOBJ.PAS
\LIB\SYSTEM.DCU
\SOURCE\RTL\SYS\SYSTEM.PAS
\LIB\OLECTRLS.DCU
\SOURCE\VCL\OLECTRLS.PAS
\LIB\MAPI.DCU
\SOURCE\RTL\WIN\MAPI.PAS
\LIB\CONTROLS.DCU
\SOURCE\VCL\CONTROLS.PAS
\LIB\DBCLIENT.DCU
\SOURCE\VCL\DBCLIENT.PAS
\LIB\DBTABLES.DCU
\SOURCE\VCL\DBTABLES.PAS
\LIB\MIDASCON.DCU
\SOURCE\VCL\MIDASCON.PAS
\BIN\DCLMID30.DPL
\BIN\DCLDB30.DPL
\LIB\DCLDB30.DCP
\WINDOWS\SYSTEM32\VCLDB30.DPL
\LIB\VCLDB30.DCP
\WINDOWS\SYSTEM32\VCL30.DPL
\LIB\VCL30.DCP
\HELP\OBPASCL3.TOC
\BIN\TLIBIMP.EXE
\BIN\SCKTSRVR.EXE
this readme file

Typical Patch Run Output
Below is the typical output for a patch of a full install of Borland Delphi 3 Client/Server. Your output may vary according to your install options. For example, the patch programs may report some files as missing if you did not install all files during the original Delphi installation.

Applying MODIFY File Patch for 'COMOBJ.DCU'
  
    Writing New File
    Verifying - Passed!
    Deleting Old File

Applying MODIFY File Patch for ...

...etc. (see list of files above)

...

    Patch File Processing Complete


-          Results of Application Patch File      -

  File Patches Applied .......................... ( 29)

    Files Modified ..................... ( 28)
    Files Renamed  ..................... (  0)
    Files Added ........................ (  1)
    Files Deleted ...................... (  0)
    Temporary Files Processed .......... (  0)

  File Patches Skipped: New Files Up-To_Date .... (  0)
  
  File Patches Ignored: Old Files Missing ....... (  0)
                        Old Files Invalid ....... (  0)

  Total File Patches Processed .................. ( 29)

Partial List of Fixes
Below is a partial list of fixes that are included in this patch.

  • Image lists that do not include masks can now be streamed out.
  • Finally blocks inside safecall procedures were not always called when an exception was raised. This has been fixed.
  • String conversion problems with converting Variant data into OleVariant data have been fixed.
  • MAPI initialization can now reliably detect when MAPI is installed.
  • Changes to COM initialization prevent crashes when shutting down client applications.
  • TOleControl has been fixed to handle array parameters passed to event methods.
  • Problems with inserting detail records using client datasets are fixed.
  • In the client application of multi-tiered applications, you can now use the object inspector to set the Provider property of a client dataset to a provider component in the same form or data module.
  • You can now create a TMIDASConnection object, use it to connect to the server, call GetProvider, and then free the MIDAS connection object all in one routine.
  • Problems using TMIDASConnection to call methods that return data in var parameters or out parameters have been fixed.
  • Windows common controls behave differently, depending on which version of Internet Explorer is installed on the system. A number of fixes are included to allow programs to adjust to these differences:
    • Display problems and incompatible behavior when Internet Explorer 4.0 is installed have been fixed for TTreeView, TToolBar, TToolButton, and TCoolBar.
    • When Internet Explorer 3 is installed, mnemonic keys used with TToolButton objects now display the drop down method but don't process the click behavior, so as to be more consistent with tool button behavior in Internet Explorer 3.
    • A new global function was added to allow applicationss to determine which version of Internet Explorer is installed: function GetComCtlVersion: Integer; This function returns the version number of comctl32.dll, with the major version in the high order WORD and the minor version in the low order WORD. Two constants were added to help interpret return values: ComCtlVersionIE3 (when Internet Explorer 3 is installed) and ComCtlVersionIE4 (when Internet Explorer 4 is installed).
    • A new global procedure was added to allow applications to programatically display a TToolButton's drop-down menu: procedure CheckToolMenuDropdown(TToolButton: TToolButton); Using this procedure, ToolButton behavior can be made consistent over versions of Internet Explorer by adding the following OnClick event handler:
            procedure TForm1.ToolButton1Click(Sender: TObject);
            begin
               CheckToolMenuDropdown(Sender as TToolButton);
            end;
  • TLibImp.exe is more tolerant of invalid type library entries. A command line switch was added to disable warning messages. If you can't import an ActiveX control or COM server typelib into the type library editor, you can now use TLibImp from the command line instead.

Downloads:
Delphi 3 Client/Server Update (Maintenance Release 2) Patch

Delphi 3 SLIB Patch

 
Site Map Search Contact