Delphi 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: Delphi 6 must be closed before installing this Update Pack. ============================================================ CONTENTS * ABOUT EDITING THE WINDOWS REGISTRY * PRODUCT COEXISTENCE ISSUES * WHAT'S NEW/GENERAL NOTES * CHANGES AND MODIFICATIONS: SOAP * CHANGES AND MODIFICATIONS: WEB AND DISTRIBUTED APPLICATION DEVELOPMENT * CHANGES AND MODIFICATIONS: DATABASE DEVELOPMENT * FILES INSTALLED BY THIS UPDATE PACK * REMOVING THIS UPDATE * OTHER DELPHI RELEASE NOTES * RESOURCE NEWS * HELP UPDATES ============================================================ ABOUT EDITING THE WINDOWS REGISTRY Warning: Registry edits are performed at your own risk. Items in this document and in other parts of the documentation that accompany this product may describe how to edit your Windows registry. Windows provides a tool, the Microsoft Registry Editor (regedit.exe), for this task. Whatever tool you use, you should always back up your registry before editing it, and thorougly familiarize yourself with the editing tool and the registry editing process. The registry is a critical component of your operating system, and any mistakes you make while editing it can cause your machine to stop functioning. ============================================================ PRODUCT COEXISTENCE ISSUES Running Delphi 6 and C++Builder 6 on the same machine ------------------------------ This update pack is required for full Delphi functionality if you have already installed (or plan to install) C++Builder 6 on the same machine as Delphi 6. You can install the Update Pack either before or after C++Builder. Third-party and add-on package issues ------------------------------ Some third-party and add-on packages may generate errors after installing Delphi 6 Update Pack 2. If you encounter any such errors, uninstall the third-party package in Delphi 6 (Component| Install Packages, select the package, click remove, and rebuild), and contact the third-party package provider for an updated package. Related note: The functionality previously available in InvWiz60.bpl, a free add-on package installed by many Delphi 6 users, is installed with this update. If you previously installed InvWiz60, you should uninstall it to avoid conflicts with the new built-in functionality. Using the Web App Debugger in Delphi 6 after uninstalling C++Builder 6 ------------------------------ If you install C++Builder 6 on a machine on which Delphi 6 is installed, then uninstall C++Builder 6, the Delphi 6 Web App Debugger will no longer work as expected. Solution: After uninstalling C++Builder 6, you can reregister the Web App Debugger by running the following from your Delphi6\Bin directory: 1. Run ServerInfo for the Web App Debugger: serverinfo 2. Use the tregsvr utility to reregister the debugger library: tregsvr weblib.tlb ============================================================ WHAT'S NEW/ GENERAL NOTES In addition to improvements to Delphi's SOAP (Simple Object Access Protocol) implementation, this Update Pack offers a number of important modifications and addresses a number of issues discovered in the initial release of this product and after the release of Update Pack 1. This update includes all of the improvements provided in Update Pack 1; if you have not yet installed Update Pack 1, you need only install Update Pack 2 to bring your product up to date. Also note that many of the improvements listed in this document were also documented in the release notes that accompanied the earlier update. General improvements and modifications are summarized below. Changes to SOAP and other specific areas are described in separate sections later in this document. For additional information on modifications and improvements to these and other features, see the file D602FIXES.html (installed to your Delphi6 root directory). Installation note: If you encounter an "Error Copying Files (Error -132)" during the early stage of installation of this update, you must cancel the installation and close the Borland Socket Server (scktsrvr.exe). ActionBand ------------------------------ ActionBand classes (Enterprise and Professional editions only) include interface changes and a number of corrections and improvements. Because of the interface changes, recompilation of any application using ActionBand classes is necessary because ActionBands are statically linked into your application and are not included in any runtime packages. The update also now supports the ability to add separators to menus by pressing the "-" key while positioned on the menu where you want a separator to appear. To add a separator onto a TActionToolBar, simply press the insert key and set the new item's caption to "|" or "-". For more information and a tutorial on using ActionBands (and other product features, as noted in the "Resource News" section later in this document), see: http://www.geocities.com/delphihelp COM+ Event Objects ------------------------------ Generated code now compiles correctly when adding a method with params of different types to a COM+ Event interface. TypeLib importer improvements ------------------------------ * In previous versions of Delphi 6, read-write was suppressed in some string- and pointer-based types. That suppression has been lifted, and those types now have associated getter and setter procedures. * All _TLB files now have an additional compiler switch which enables property setter procedures to have a var parameter {$VARPROPSETTER ON}. This change prevents the ' Property setters cannot take var parameters' error. * Array properties are now correctly generated. * The MS HTML library now compiles correctly. Comparing variants ------------------------------ When comparing variants, you now need to be sure to test for NULL values (like TField.IsNull, TParam.IsNull). This is because magnitude comparisons (greater than, less than, greater than or equal, or less than or equal) now generate an EVariantInvalidOpError exception. NULLs have no defined magnitude and cannot be compared in that way. This was not the case in previous releases. Equality testing (equal and not equal) still works as before. This refinement in behavior affects both general variant usage and database operations. For example, when working with Field values in a database application, you now need to check if a value is NULL before using it in a comparison. Additionally, variants that are EMPTY or Unassigned can now be used in many variant operations where they used to generate exceptions. In comparison operations, they can be tested for both equality and magnitude. In the case of magnitude, they are considered less than any other type of variant, with the exception of NULL (as explained above). In other operations (add, subtract, multiply, not, and, or, etc.), EMPTY can be used interchangeably with almost any other variant type. ============================================================ CHANGES AND MODIFICATIONS: SOAP SOAP package configuration and deployment rights ------------------------------ Soap runtime and design-time functionality has been split. The new runtime package is soaprtl60.bpl, and the original package, dclsoap60.bpl, is now design-time only. Important: soaprtl60.bpl is a redistributable as defined in the Borland License Terms. Pro now supports Web Service client development ------------------------------ The Professional edition now supports SOAP client-side development. Pro users now have a new WSDL Import wizard, along with a new WebServices tab and its three components which allow you to create client applications. Byte arrays are now Base64-encoded ------------------------------ Parameters of type 'array of Byte' or TByteDynArray are now serialized as 'base64Binary'. (Note: Variants that contain an array of bytes are also serialized as 'base64Binary'.) Boolean values now exposed with proper case ------------------------------ Boolean values are now serialized as 'true' or 'false' instead of 'True' and 'False'. Configurable Target Namespace ------------------------------ The TWSDLHTMLPublish component now exposes a 'TargetNamespace' property. The value defaults to 'http://www.borland.com/soapServices'. With this new property in place, we strongly recommend that you update the TargetNamespace of your Web Services before deployment. New API to access SOAP Data Module ------------------------------ The 'GetSOAPWebModule' method of WebBrokerSOAP now provides access to the Web Module currently being dispatched, allowing your Web Services method to access the Data Module. This new functionality could be used in cases where your handlers may need access to Database components, for example. Option to control empty SOAPAction headers ------------------------------ The 'THTTPSoapPascalInvoker' component exposes a new 'InvokeOptions' property that contains one option: 'soNovalueForEmptySOAPAction'. When the option is enabled, Delphi sends out a SOAPAction header with no value for Services that specify empty SOAPActions. If not enabled, the default action is to send a SOAPAction header with the value "" (two double quotes). Methods of base interfaces are now also exposed as operations ------------------------------ Example: ICalcBase = interface(IInvokable) function add(I: Integer; J: Integer): Integer; function sub(I: Integer: J: Integer): Integer; // etc... end; ICalculator = interface(ICalcBase) function sine(const val: Extended): Extended; // .... end; In the case illustrated above, registering ICalculator will now expose a portType 'ICalculator' with operations 'add', 'sub, 'sine', etc. Note that while you don't need to explicitly register the 'ICalcBase' interface, your implementation class must explicitly list both interfaces, as shown here: TCalculator = class (TInvokable, ICalculator, ICalcBase) // etc; end; Other SOAP issues addressed in this patch ------------------------------ * soSendUntyped option issue: The 'sendUnTyped' option of the THTTPSoapPascalInvoker' has been corrected for cases where types were still being sent. * TXSDate now handles non-US date formats (addresses issue in which the Date serializing class was not 'international date formats friendly'). * All SOAP Runtime sources are included in the Source\Soap directory. * Safecall calling convention now works correctly: IOW, the underlying HRESULT is checked and an exception raised if necessary. * The WSDL importer extracts additional information (namespace and SOAPAction) allowing Delphi clients to use the URL property of a THTTPRIO when invoking a non-Delphi WebService. (In previous versions you could only use the WSDLLocation for non-Delphi Services). * You can configure Published members of a TRemotable- derived class to be serialized as an attribute of the node representing the class using the AS_ATTRIBUTE qualifier: ClassWithAttribute = class(TRemotable) private FData: string; FAttribute: string; published property Data: string read FData write FData; property Attribute: string read FAttribute write FAttribute stored AS_ATTRIBUTE; end; * The registration logic of Invokable classes will assign the class only to interfaces for which no other Invokable class has been assigned yet. For example, if class C1 implements interface I1 and class C2 implements interface I1 and I2. If C1 is registered before C2, it will not be replaced by C2 for any request to interface I1. * Several new Convert options have been added to TSOAPConvertOption. See the HELP file for more information. (NOTE: Some options may cause incompatibilities when interacting with SP1 Services. For example, MultiRef nodes are now rooted to the body node as required by the spec. However, when interacting with a application that has not been rebuilt with Update Pack 2, you can turn off the 'soRootRefNodesToBody' option). * The WSDL Importer and SOAP Serialization runtime now handle document|literal services. * You can now configure the logic used by the importer and SOAP runtime to determine the 'return' parameter. See the InvokeRegistry.RegisterParamNames method for more information. * SOAP Faults are now raised as an ERemotableException (instead of plain Exception). This allows Client to better handle SOAP faults. * The serialization logic converting XML data to OleVariants now utilizes an attribute to flag when the data should be inserted in a array rather than directly into the OleVariant. This was necessary in cases where only one node of data is sent and should address problems seen with SOAP/MIDAS. * Problems encountered with serializing TRemotable-derived classes that contain members of type TByteDynArray have been fixed. * TRIO (and descendant classes) and TSoapConnection expose two events allowing one to intercept the XML packets sent and received during a call to a WebService. * At design time, the editor for the WSDLLocation field property of a THTTPRIO object will display the last 10 WSDL locations that were successfully imported. * The THTTPReqResp class, used by THTTPRIO, now provides support for proxies. Likewise, the WSDL importer also allows the WSDL document to be retrieved via a Proxy. * Resetting the THTTPReqResp.URL will now disconnect any previous connections and establish new connections with the supplied URL. Previous versions ignored any new URL once connected to a Service. * 'Nan', 'INF' and '-INF' are now handled properly when expecting a float value. * Delphi Services correctly return status code 500 when an Exception is raised. See 'soReturnSuccessForFault' for more information on backward compatibility). * More XML types are now recognized: For example, 'timeInstant', 'timeDuration', 'negativeInteger', 'nonNegativeInteger', 'nonPositiveInteger', 'positiveInteger', 'gDay', 'NCName'. Note that for several of these types, no validation is performed, specially the ones that map to a string (or Widestring). ============================================================ CHANGES AND MODIFICATIONS: WEB AND DISTRIBUTED APPLICATION DEVELOPMENT WebSnap package name change ------------------------------ Due to interface changes, the WebSnap runtime package name has been changed to websnap61.bpl. If your IDE currently has any of the WebSnap demo packages or third party components installed, you should uninstall them or recompile them after installing this update. If you don't, you may encounter errors when starting the IDE. If you are deploying your WebSnap application with runtime packages, you must now deploy websnap61.bpl, and not websnap60.bpl. ISAPIThreadPool scalability improvements ------------------------------ ISAPIThreadPool.pas has been rewritten to resolve several issues regarding scalability. The unit now has a NumberOfThreads variable which represents the number of threads allocated to the pool for processing connections (default value is 25; maximum supported value is 64). Additionally, this unit is intended for use with Microsoft IIS servers only. It is designed to avoid interference with the operation of other servers; if you are developing an application for a non-Microsoft ISAPI server, however, and you encounter any problems, you may want to remove this unit from the uses clause of your .DPR. WebConnection issue on Windows XP ------------------------------ If using WebConnection on Windows XP, you may encounter the error "Method not allowed (405)" when attempting to get the servername dropdown list. Solution: Set up a virtual path. Steps: 1. Open your Computer Management Console. You can open the console in a number of ways, including running "compmgmt.msc" from a command prompt, opening Control Panel's Administrative Tools, or by right-clicking on "My Computer" and choosing Manage. 2. In the Computer Management Console, expand Services and Applications, Internet Information Services, and Web Sites. Right-click Default Web Site, then choose New|Virtual Directory. 3. Follow the steps in the Virtual Directory Creation Wizard. Web application notes ------------------------------ ActiveX and ComObj units are now included in the uses clause of the project file when developing new Web applications. In addition, the ComObj.CoInitFlags variable is set. It's important to note that the addition of these units neither initializes COM nor causes any additional COM overhead in your Web applications. The references were added to allow your application to better deal with any potential COM threading issues should your application use COM. If you are certain your application will not be using COM, however, you can safely remove these two unit references and the variable assignment from your project file. Web App Debugger note ------------------------------ The default server URL for the Web App Debugger (Tools|Web App Debugger, Start, select a listed Web App server, click Go to open http://localhost:1024/null) generates a "URL not found" error on versions of Netscape earlier than 6.2. The error does not occur in Internet Explorer. ============================================================ CHANGES AND MODIFICATIONS: DATABASE DEVELOPMENT dbExpress ------------------------------ [Enterprise and Professional editions only] * TSQLDataSet and TSQLClientDataSet now have DefaultRowsetSize = 20 (Oracle only). To use a different RowSetSize, add the RowSetSize property manually (e.g., "RowsetSize = 200") into dbxconnections.ini, for existing connections, or into dbxdrivers.ini to have the RowSetSize property included in new connections. RowsetSize can also be modified in code, as shown here: "SQLConnection1.Params.Values['RowsetSize'] := '200'" * dbExpress now includes mysql 3.23.45 support with a new driver (dbexpmysql.dll). To use the new driver, specify LibraryName = "dbexpmysql.dll" in the Object Inspector or in dbxdrivers.ini. * The provided DB2 driver is certified for DB2 version 7 only. The client version and server version must match. BDE also supports DB2 version 7 only. * The Oracle driver provided for dbExpress components is certified for Oracle 8.1.7. BDE and ADO also support Oracle 8.1.6. In all cases, the client version and server version must be the same. For details on these and other modifications to dbExpress, see D602FIXES.html. Oracle LONG and LONG RAW fields ------------------------------ When using Oracle, the size of LONG and LONG RAW fields cannot be determined without fetching the whole field. So if BLOB SIZE is set to -1, LONG and LONG RAW fields are truncated to 64K. Recommendation: Set BLOB SIZE to your best estimate of the blob size. InterBase version support, Dialect 3 features ------------------------------ This update adds support for InterBase 6.0 and 6.5. The client version and server version must be the same. To use the new InterBase 6 or 6.5 Dialect 3 features, add an entry to your Windows registry under HKEY_LOCAL_MACHINE\SOFTWARE\ Borland\Database Engine\Settings \Drivers\Intrbase\Db Open\SQLDIALECT and set the String Value to "3". When an InterBase alias is created, the new entry will be available in the .CFG file. To use InterBase 5.6, SQLDIALECT can be set to "1" (existing IB aliases which do not have the SQLDIALECT entry default to SQLDIALECT=1 or to the registry setting when the SQLDIALECT entry is added to the registry). ============================================================ OTHER DELPHI RELEASE NOTES * README contains additional product notes and documentation. If you previously installed Delphi Update Pack 1, release notes for that update are installed as README_61. This document, README_62, incorporates all relevant information from the earlier update notes. * INSTALL contains system requirements and product installation information, including product registration instructions. * DEPLOY contains information about redistributing your applications. * LICENSE contains information on licensing allowances and limitations for this product and other Borland software that is bundled with it. The three files listed above, along with this file, are installed to your main product directory (default: C:\Program Files\Borland\Delphi6). You can also find detailed feature and compatibility information in DEL6NEW.HLP, which is part of the main online Help system (look for "What's New" in the Help contents or index). * BDEREADME, BDEINST and BDEDEPLOY contain release notes, installation, and deployment information about the Borland Database Engine (BDE) and Borland SQL Links products. These files are located in your main BDE directory (installation default: c:\Program Files\Common Files\Borland Shared\Bde). IMPORTANT: Any BDE-related information in this README overrides any corresponding information provided in the BDE release notes. Additional notes about existing issues with BDE and utility applications supplied with BDE are covered in the KNOWN ISSUES section later in this document. ============================================================ FILES INSTALLED BY THIS UPDATE PACK This self-extracting, self-executing Update Pack refreshes the following files* in your current Delphi 6 installation: \readme_62.rtf \readme_62.txt \Bin\BORdbg61.exe \Bin\coreide60.bpl \Bin\dbexpmysql.dll \Bin\dbexpora.dll \Bin\DCC32.EXE \Bin\DCC60.DLL \Bin\dclact60.bpl \Bin\dclact60.map \Bin\dcldb60.bpl \Bin\dcldb60.map \Bin\dcldbx60.bpl \Bin\dcldbx60.map \Bin\dclnet60.bpl \Bin\dclnet60.map \Bin\dclsoap60.bpl \Bin\dclsoap60.map \Bin\dclwbm60.bpl \Bin\dclwbm60.map \Bin\dclwebsnap60.bpl \Bin\dclwebsnap60.map \Bin\delphi32.exe \Bin\delphide60.bpl \Bin\delphihtm60.bpl \Bin\delphipro60.bpl \Bin\Idl2pas.jar \Bin\Idl2PasWizardPkg.bpl \Bin\Idl2PasWizardPkg.map \Bin\proide60.bpl \Bin\scktsrvr.exe \Bin\tlib60.bpl \Bin\webappdbg.exe \Bin\wsdlimp.exe \Bin\xmlide60.bpl \Bin\xmlmapper.exe \Borland Shared\Debugger\BORdbg61.exe \Borland Shared\Debugger\BORdbk61.dll \Doc\Invoker.int \Lib\AccCtrl.dcu \Lib\ActnCtrls.dcu \Lib\ActnList.dcu \Lib\ActnMan.dcu \Lib\ActnMenus.dcu \Lib\ActnRes.dcu \Lib\ActnRes.dfm \Lib\AdaptReq.dcu \Lib\ADODB.dcu \Lib\adortl.dcp \Lib\ApacheApp.dcu \Lib\ApacheHTTP.dcu \Lib\AutoAdap.dcu \Lib\BandActn.dcu \Lib\CGIApp.dcu \Lib\CGIHTTP.dcu \Lib\Classes.dcu \Lib\COMAdmin.dcu \Lib\ComApp.dcu \Lib\ComCtrls.dcu \Lib\ComHTTP.dcu \Lib\CommDlg.dcu \Lib\ComObj.dcu \Lib\CompProd.dcu \Lib\Consts.dcu \Lib\Contnrs.dcu \Lib\Controls.dcu \Lib\CopyPrsr.dcu \Lib\CorbaObj.dcu \Lib\crtl.dcu \Lib\CustomizeDlg.dcu \Lib\CustomizeDlg.dfm \Lib\DateUtils.dcu \Lib\DB.dcu \Lib\DBAdapt.dcu \Lib\DBAdaptImg.dcu \Lib\DBBdeWeb.dcu \Lib\DBClient.dcu \Lib\DBCommon.dcu \Lib\DBCtrls.dcu \Lib\DBExpINT.dcu \Lib\DBExpMYS.dcu \Lib\DBExpMySQL.dcu \Lib\dbexpmysql.lib \Lib\DBExpORA.dcu \Lib\dbexpora.lib \Lib\dbexpress.dcp \Lib\DBLocalI.dcu \Lib\DBLocalS.dcu \Lib\dbrtl.dcp \Lib\DBWeb.dcu \Lib\dbx.dcp \Lib\dbxcds.dcp \Lib\dclact.dcp \Lib\dclcds.dcp \Lib\dcldb.dcp \Lib\dcldbx.dcp \Lib\dclib.dcp \Lib\dclmid.dcp \Lib\dclnet.dcp \Lib\dclsoap.dcp \Lib\dclwbm.dcp \Lib\dclwebsnap.dcp \Lib\designide.dcp \Lib\dsnap.dcp \Lib\dsnapcon.dcp \Lib\DsnDBCst.dcu \Lib\DTDSchema.dcu \Lib\EncdDecd.dcu \Lib\ExtActns.dcu \Lib\FileCtrl.dcu \Lib\FMTBcd.dcu \Lib\Forms.dcu \Lib\Graphics.dcu \Lib\HelpIntfs.dcu \Lib\HTTPApp.dcu \Lib\HTTPD.dcu \Lib\HTTPParse.dcu \Lib\HTTPProd.dcu \Lib\HTTPSOAPToPasBind.dcu \Lib\httputil.dcu \Lib\IBCustomDataSet.dcu \Lib\IBDatabase.dcu \Lib\IBEvents.dcu \Lib\IBExtract.dcu \Lib\IBGeneratorEditor.dcu \Lib\IBGeneratorEditor.dfm \Lib\IBQuery.dcu \Lib\IBRestoreEditor.dcu \Lib\IBRestoreEditor.dfm \Lib\IBSecurityEditor.dcu \Lib\IBSecurityEditor.dfm \Lib\IBServiceEditor.dcu \Lib\IBServiceEditor.dfm \Lib\IBServices.dcu \Lib\IBSQL.dcu \Lib\IBSQLMonitor.dcu \Lib\IBStoredProc.dcu \Lib\IBTable.dcu \Lib\IBXConst.dcu \Lib\ibxpress.dcp \Lib\ImgList.dcu \Lib\inet.dcp \Lib\inetdbbde.dcp \Lib\IniFiles.dcu \Lib\IntfInfo.dcu \Lib\InvConst.dcu \Lib\Invoker.dcu \Lib\InvokeRegistry.dcu \Lib\InvRules.dcu \Lib\ISAPIApp.dcu \Lib\ISAPIThreadPool.dcu \Lib\ListActns.dcu \Lib\Math.dcu \Lib\Menus.dcu \Lib\MidasLib.dcu \Lib\MidConst.dcu \Lib\MidItems.dcu \Lib\MidProd.dcu \Lib\msxml.dcu \Lib\msxmldom.dcu \Lib\OPConvert.dcu \Lib\OPToSoapDomConv.dcu \Lib\OPToSoapDomCustom.dcu \Lib\oxmldom.dcu \Lib\PagItems.dcu \Lib\Provider.dcu \Lib\QActnList.dcu \Lib\QButtons.dcu \Lib\QCheckLst.dcu \Lib\QComCtrls.dcu \Lib\QConsts.dcu \Lib\QControls.dcu \Lib\QDBCtrls.dcu \Lib\QDialogs.dcu \Lib\QExtCtrls.dcu \Lib\QForms.dcu \Lib\QGraphics.dcu \Lib\QGrids.dcu \Lib\QMenus.dcu \Lib\QPrinters.dcu \Lib\QStdActns.dcu \Lib\QStdCtrls.dcu \Lib\QStyle.dcu \Lib\QTypes.dcu \Lib\Rio.dcu \Lib\rtl.dcp \Lib\RTLConsts.dcu \Lib\ScktComp.dcu \Lib\SConnect.dcu \Lib\ScrptMgr.dcu \Lib\SessColn.dcu \Lib\SiteComp.dcu \Lib\SiteConst.dcu \Lib\SiteProd.dcu \Lib\SoapConn.dcu \Lib\SoapConst.dcu \Lib\SoapDm.dcu \Lib\SOAPDomConv.dcu \Lib\SoapEnv.dcu \Lib\SoapHTTPClient.dcu \Lib\soaphttpdisp.dcu \Lib\SOAPHTTPPasInv.dcu \Lib\SoapHTTPTrans.dcu \Lib\soaplinked.dcu \Lib\SOAPMidas.dcu \Lib\soappasinv.dcu \Lib\soaprtl.dcp \Lib\SqlConst.dcu \Lib\SqlEdit.dcu \Lib\SqlExpr.dcu \Lib\SqlTimSt.dcu \Lib\StdActnMenus.dcu \Lib\StdActns.dcu \Lib\StdCtrls.dcu \Lib\StrUtils.dcu \Lib\svrhttp.dcu \Lib\SysConst.dcu \Lib\System.dcu \Lib\SysUtils.dcu \Lib\Types.dcu \Lib\TypeTrans.dcu \Lib\TypInfo.dcu \Lib\UrlMon.dcu \Lib\ValEdit.dcu \Lib\Variants.dcu \Lib\VarUtils.dcu \Lib\vcl.dcp \Lib\vcldb.dcp \Lib\vclx.dcp \Lib\visualclx.dcp \Lib\visualdbclx.dcp \Lib\WebAdapt.dcu \Lib\WebAuto.dcu \Lib\WebBroker.dcu \Lib\WebBrokerSOAP.dcu \Lib\WebCntxt.dcu \Lib\WebComp.dcu \Lib\WebConst.dcu \Lib\WebContnrs.dcu \Lib\WebDisp.dcu \Lib\webdsnap.dcp \Lib\WebForm.dcu \Lib\WebModu.dcu \Lib\WebNode.dcu \Lib\WebReq.dcu \Lib\WebScript.dcu \Lib\WebServExp.dcu \Lib\WebServImp.dcu \Lib\WebSess.dcu \Lib\websnap.dcp \Lib\WebUsers.dcu \Lib\Windows.dcu \Lib\WinInet.dcu \Lib\WSDLBind.dcu \Lib\WSDLIntf.dcu \Lib\WSDLItems.dcu \Lib\WSDLNode.dcu \Lib\WSDLPub.dcu \Lib\WSDLSoap.dcu \Lib\xdom.dcu \Lib\XMLBindGen.dcu \Lib\XMLDataToSchema.dcu \Lib\XMLDoc.dcu \Lib\xmldom.dcu \Lib\XMLIntf.dcu \Lib\xmlrtl.dcp \Lib\XMLSchema.dcu \Lib\XMLSchemaTags.dcu \Lib\xmlutil.dcu \Lib\XSBuiltIns.dcu \Lib\XSLProd.dcu \Lib\Debug\AccCtrl.dcu \Lib\Debug\ActnCtrls.dcu \Lib\Debug\ActnList.dcu \Lib\Debug\ActnMan.dcu \Lib\Debug\ActnMenus.dcu \Lib\Debug\ActnRes.dcu \Lib\Debug\AdaptReq.dcu \Lib\Debug\ADODB.dcu \Lib\Debug\ApacheApp.dcu \Lib\Debug\ApacheHTTP.dcu \Lib\Debug\AutoAdap.dcu \Lib\Debug\BandActn.dcu \Lib\Debug\CGIApp.dcu \Lib\Debug\CGIHTTP.dcu \Lib\Debug\Classes.dcu \Lib\Debug\COMAdmin.dcu \Lib\Debug\ComApp.dcu \Lib\Debug\ComCtrls.dcu \Lib\Debug\ComHTTP.dcu \Lib\Debug\CommDlg.dcu \Lib\Debug\ComObj.dcu \Lib\Debug\CompProd.dcu \Lib\Debug\Consts.dcu \Lib\Debug\Contnrs.dcu \Lib\Debug\Controls.dcu \Lib\Debug\CopyPrsr.dcu \Lib\Debug\CorbaObj.dcu \Lib\Debug\CustomizeDlg.dcu \Lib\Debug\DateUtils.dcu \Lib\Debug\DB.dcu \Lib\Debug\DBAdapt.dcu \Lib\Debug\DBAdaptImg.dcu \Lib\Debug\DBBdeWeb.dcu \Lib\Debug\DBClient.dcu \Lib\Debug\DBCommon.dcu \Lib\Debug\DBCtrls.dcu \Lib\Debug\DBLocalI.dcu \Lib\Debug\DBLocalS.dcu \Lib\Debug\DBWeb.dcu \Lib\Debug\DsnDBCst.dcu \Lib\Debug\DTDSchema.dcu \Lib\Debug\EncdDecd.dcu \Lib\Debug\ExtActns.dcu \Lib\Debug\FileCtrl.dcu \Lib\Debug\FMTBcd.dcu \Lib\Debug\Forms.dcu \Lib\Debug\Graphics.dcu \Lib\Debug\HelpIntfs.dcu \Lib\Debug\HTTPApp.dcu \Lib\Debug\HTTPD.dcu \Lib\Debug\HTTPParse.dcu \Lib\Debug\HTTPProd.dcu \Lib\Debug\HTTPSOAPToPasBind.dcu \Lib\Debug\httputil.dcu \Lib\Debug\IBCustomDataSet.dcu \Lib\Debug\IBDatabase.dcu \Lib\Debug\IBEvents.dcu \Lib\Debug\IBExtract.dcu \Lib\Debug\IBGeneratorEditor.dcu \Lib\Debug\IBQuery.dcu \Lib\Debug\IBRestoreEditor.dcu \Lib\Debug\IBSecurityEditor.dcu \Lib\Debug\IBServiceEditor.dcu \Lib\Debug\IBServices.dcu \Lib\Debug\IBSQL.dcu \Lib\Debug\IBSQLMonitor.dcu \Lib\Debug\IBStoredProc.dcu \Lib\Debug\IBTable.dcu \Lib\Debug\IBXConst.dcu \Lib\Debug\ImgList.dcu \Lib\Debug\IniFiles.dcu \Lib\Debug\IntfInfo.dcu \Lib\Debug\InvConst.dcu \Lib\Debug\Invoker.dcu \Lib\Debug\InvokeRegistry.dcu \Lib\Debug\InvRules.dcu \Lib\Debug\ISAPIApp.dcu \Lib\Debug\ISAPIThreadPool.dcu \Lib\Debug\ListActns.dcu \Lib\Debug\Math.dcu \Lib\Debug\Menus.dcu \Lib\Debug\MidConst.dcu \Lib\Debug\MidItems.dcu \Lib\Debug\MidProd.dcu \Lib\Debug\msxml.dcu \Lib\Debug\msxmldom.dcu \Lib\Debug\OPConvert.dcu \Lib\Debug\OPToSoapDomConv.dcu \Lib\Debug\OPToSoapDomCustom.dcu \Lib\Debug\oxmldom.dcu \Lib\Debug\PagItems.dcu \Lib\Debug\Provider.dcu \Lib\Debug\QActnList.dcu \Lib\Debug\QButtons.dcu \Lib\Debug\QCheckLst.dcu \Lib\Debug\QComCtrls.dcu \Lib\Debug\QConsts.dcu \Lib\Debug\QControls.dcu \Lib\Debug\QDBCtrls.dcu \Lib\Debug\QDialogs.dcu \Lib\Debug\QExtCtrls.dcu \Lib\Debug\QForms.dcu \Lib\Debug\QGraphics.dcu \Lib\Debug\QGrids.dcu \Lib\Debug\QMenus.dcu \Lib\Debug\QPrinters.dcu \Lib\Debug\QStdActns.dcu \Lib\Debug\QStdCtrls.dcu \Lib\Debug\QStyle.dcu \Lib\Debug\QTypes.dcu \Lib\Debug\Rio.dcu \Lib\Debug\RTLConsts.dcu \Lib\Debug\ScktComp.dcu \Lib\Debug\SConnect.dcu \Lib\Debug\ScrptMgr.dcu \Lib\Debug\SessColn.dcu \Lib\Debug\SiteComp.dcu \Lib\Debug\SiteConst.dcu \Lib\Debug\SiteProd.dcu \Lib\Debug\SoapConn.dcu \Lib\Debug\SoapConst.dcu \Lib\Debug\SoapDm.dcu \Lib\Debug\SOAPDomConv.dcu \Lib\Debug\SoapEnv.dcu \Lib\Debug\SoapHTTPClient.dcu \Lib\Debug\soaphttpdisp.dcu \Lib\Debug\SOAPHTTPPasInv.dcu \Lib\Debug\SoapHTTPTrans.dcu \Lib\Debug\soaplinked.dcu \Lib\Debug\SOAPMidas.dcu \Lib\Debug\soappasinv.dcu \Lib\Debug\SqlConst.dcu \Lib\Debug\SqlExpr.dcu \Lib\Debug\SqlTimSt.dcu \Lib\Debug\StdActnMenus.dcu \Lib\Debug\StdActns.dcu \Lib\Debug\StdCtrls.dcu \Lib\Debug\StrUtils.dcu \Lib\Debug\svrhttp.dcu \Lib\Debug\SysConst.dcu \Lib\Debug\System.dcu \Lib\Debug\SysUtils.dcu \Lib\Debug\Types.dcu \Lib\Debug\TypeTrans.dcu \Lib\Debug\TypInfo.dcu \Lib\Debug\UrlMon.dcu \Lib\Debug\ValEdit.dcu \Lib\Debug\Variants.dcu \Lib\Debug\VarUtils.dcu \Lib\Debug\WebAdapt.dcu \Lib\Debug\WebAuto.dcu \Lib\Debug\WebBroker.dcu \Lib\Debug\WebBrokerSOAP.dcu \Lib\Debug\WebCntxt.dcu \Lib\Debug\WebComp.dcu \Lib\Debug\WebConst.dcu \Lib\Debug\WebContnrs.dcu \Lib\Debug\WebDisp.dcu \Lib\Debug\WebForm.dcu \Lib\Debug\WebModu.dcu \Lib\Debug\WebNode.dcu \Lib\Debug\WebReq.dcu \Lib\Debug\WebScript.dcu \Lib\Debug\WebServExp.dcu \Lib\Debug\WebServImp.dcu \Lib\Debug\WebSess.dcu \Lib\Debug\WebUsers.dcu \Lib\Debug\Windows.dcu \Lib\Debug\WinInet.dcu \Lib\Debug\WSDLBind.dcu \Lib\Debug\WSDLIntf.dcu \Lib\Debug\WSDLItems.dcu \Lib\Debug\WSDLNode.dcu \Lib\Debug\WSDLPub.dcu \Lib\Debug\WSDLSoap.dcu \Lib\Debug\xdom.dcu \Lib\Debug\XMLBindGen.dcu \Lib\Debug\XMLDataToSchema.dcu \Lib\Debug\XMLDoc.dcu \Lib\Debug\xmldom.dcu \Lib\Debug\XMLIntf.dcu \Lib\Debug\XMLSchema.dcu \Lib\Debug\XMLSchemaTags.dcu \Lib\Debug\xmlutil.dcu \Lib\Debug\XSBuiltIns.dcu \Lib\Debug\XSLProd.dcu \Lib\Debug\IDL3\corba.dcu \Lib\Debug\IDL3\cosevent.dcu \Lib\Debug\IDL3\cosnaming.dcu \Lib\Debug\IDL3\orbpas30.dcu \Lib\Debug\IDL4\corba.dcu \Lib\Debug\IDL4\cosevent.dcu \Lib\Debug\IDL4\cosnaming.dcu \Lib\Debug\IDL4\orbpas40.dcu \Lib\IDL3\Corba.dcu \Lib\IDL3\CosEvent.dcu \Lib\IDL3\CosNaming.dcu \Lib\IDL3\OrbPas30.dcu \Lib\IDL4\Corba.dcu \Lib\IDL4\CosEvent.dcu \Lib\IDL4\CosNaming.dcu \Lib\IDL4\OrbPas40.dcu \MergeModules\ADORTL.Msm \MergeModules\BaseRTL.Msm \MergeModules\BaseVCL.Msm \MergeModules\DatabaseRTL.Msm \MergeModules\DatabaseVCL.Msm \MergeModules\DataSnap.Msm \MergeModules\dbExpress.Msm \MergeModules\Internet.Msm \MergeModules\soaprtl.msm \MergeModules\VisualCLX.Msm \MergeModules\WebDataSnap.Msm \MergeModules\WebSnap.Msm \MergeModules\XMLRTL.Msm \Objrepos\soapwebserviceimpl.pas \Objrepos\soapwebserviceintf.pas \Source\Clx\QActnList.pas \Source\Clx\QButtons.pas \Source\Clx\QCheckLst.pas \Source\Clx\QComCtrls.pas \Source\Clx\QConsts.pas \Source\Clx\QControls.pas \Source\Clx\QDBCtrls.pas \Source\Clx\QDialogs.pas \Source\Clx\QExtCtrls.pas \Source\Clx\QForms.pas \Source\Clx\QGraphics.pas \Source\Clx\QMenus.pas \Source\Clx\QPrinters.pas \Source\Clx\QStdCtrls.pas \Source\Clx\QStyle.pas \Source\Internet\AdaptReq.pas \Source\Internet\ApacheApp.pas \Source\Internet\ApacheHTTP.pas \Source\Internet\AutoAdap.pas \Source\Internet\CGIApp.pas \Source\Internet\CGIHTTP.pas \Source\Internet\ComApp.pas \Source\Internet\ComHTTP.pas \Source\Internet\CompProd.pas \Source\Internet\CopyPrsr.pas \Source\Internet\DBAdapt.pas \Source\Internet\DBAdaptImg.pas \Source\Internet\DBBdeWeb.pas \Source\Internet\DBWeb.pas \Source\Internet\DTDSchema.pas \Source\Internet\EncdDecd.pas \Source\Internet\HTTPApp.pas \Source\Internet\HTTPD.pas \Source\Internet\HTTPParse.pas \Source\Internet\HTTPProd.pas \Source\Internet\ISAPIApp.pas \Source\Internet\ISAPIThreadPool.pas \Source\Internet\MidItems.pas \Source\Internet\MidProd.pas \Source\Internet\msxmldom.pas \Source\Internet\oxmldom.pas \Source\Internet\PagItems.pas \Source\Internet\ReqImpl.pas \Source\Internet\ScrptMgr.pas \Source\Internet\SessColn.pas \Source\Internet\SiteComp.pas \Source\Internet\SiteConst.pas \Source\Internet\SiteProd.pas \Source\Internet\SvrHTTP.pas \Source\Internet\WebAdapt.pas \Source\Internet\WebAuto.pas \Source\Internet\WebBroker.pas \Source\Internet\WebCntxt.pas \Source\Internet\WebComp.pas \Source\Internet\WebConst.pas \Source\Internet\WebContnrs.pas \Source\Internet\WebDisp.pas \Source\Internet\WebForm.pas \Source\Internet\WebModu.pas \Source\Internet\WebNode.pas \Source\Internet\WebReq.pas \Source\Internet\WebScript.pas \Source\Internet\WebServExp.pas \Source\Internet\WebSess.pas \Source\Internet\WebUsers.pas \Source\Internet\WSDLBind.pas \Source\Internet\WSDLIntf.pas \Source\Internet\WSDLItems.pas \Source\Internet\WSDLPub.pas \Source\Internet\xdom.pas \Source\Internet\XMLBindGen.pas \Source\Internet\XMLDataToSchema.pas \Source\Internet\XMLDoc.pas \Source\Internet\xmldom.pas \Source\Internet\XMLIntf.pas \Source\Internet\XMLSchema.pas \Source\Internet\XMLSchemaTags.pas \Source\Internet\xmlutil.pas \Source\Internet\XSLProd.pas \Source\Rtl\Common\Classes.pas \Source\Rtl\Common\ComObj.pas \Source\Rtl\Common\Contnrs.pas \Source\Rtl\Common\CorbaObj.pas \Source\Rtl\Common\DateUtils.pas \Source\Rtl\Common\HelpIntfs.pas \Source\Rtl\Common\IniFiles.pas \Source\Rtl\Common\Math.pas \Source\Rtl\Common\Mtsobj.pas \Source\Rtl\Common\Registry.pas \Source\Rtl\Common\RTLConsts.pas \Source\Rtl\Common\StrUtils.pas \Source\Rtl\Common\TypInfo.pas \Source\Rtl\Corba\Corba.pas \Source\Rtl\Corba\CorbaObj.pas \Source\Rtl\Corba\CosEvent.pas \Source\Rtl\Corba\CosNaming.pas \Source\Rtl\Corba\OrbPas30.pas \Source\Rtl\Corba40\Corba.pas \Source\Rtl\Corba40\CosEvent.pas \Source\Rtl\Corba40\CosNaming.pas \Source\Rtl\Corba40\OrbPas40.pas \Source\Rtl\Sys\SysConst.pas \Source\Rtl\Sys\System.pas \Source\Rtl\Sys\SysUtils.pas \Source\Rtl\Sys\Types.pas \Source\Rtl\Sys\Variants.pas \Source\Rtl\Sys\VarUtils.pas \Source\Rtl\Win\AccCtrl.pas \Source\Rtl\Win\COMAdmin.pas \Source\Rtl\Win\CommDlg.pas \Source\Rtl\Win\msxml.pas \Source\Rtl\Win\UrlMon.pas \Source\Rtl\Win\Windows.pas \Source\Rtl\Win\WinInet.pas \Source\Soap\HTTPSOAPToPasBind.pas \Source\Soap\httputil.pas \Source\Soap\IntfInfo.pas \Source\Soap\InvConst.pas \Source\Soap\InvokeRegistry.pas \Source\Soap\InvRules.pas \Source\Soap\OPConvert.pas \Source\Soap\OPToSoapDomConv.pas \Source\Soap\OPToSoapDomCustom.pas \Source\Soap\Rio.pas \Source\Soap\SoapConn.pas \Source\Soap\SoapConst.pas \Source\Soap\SoapDm.pas \Source\Soap\SOAPDomConv.pas \Source\Soap\SoapEnv.pas \Source\Soap\SoapHTTPClient.pas \Source\Soap\soaphttpdisp.pas \Source\Soap\SOAPHTTPPasInv.pas \Source\Soap\SoapHTTPTrans.pas \Source\Soap\soaplinked.pas \Source\Soap\SOAPMidas.pas \Source\Soap\soappasinv.pas \Source\Soap\TypeTrans.pas \Source\Soap\WebBrokerSOAP.pas \Source\Soap\WSDLNode.pas \Source\Soap\WSDLSoap.pas \Source\Soap\XSBuiltIns.pas \Source\Vcl\ActnCtrls.pas \Source\Vcl\ActnList.pas \Source\Vcl\ActnMan.pas \Source\Vcl\ActnMenus.pas \Source\Vcl\ActnRes.dfm \Source\Vcl\ActnRes.pas \Source\Vcl\ADODB.pas \Source\Vcl\BandActn.pas \Source\Vcl\ComCtrls.pas \Source\Vcl\Consts.pas \Source\Vcl\Controls.pas \Source\Vcl\CustomizeDlg.dfm \Source\Vcl\CustomizeDlg.pas \Source\Vcl\DB.pas \Source\Vcl\DBClient.pas \Source\Vcl\DBCommon.pas \Source\Vcl\DBCtrls.pas \Source\Vcl\DBLocalI.pas \Source\Vcl\DBLocalS.pas \Source\Vcl\ExtActns.pas \Source\Vcl\FileCtrl.pas \Source\Vcl\FMTBcd.pas \Source\Vcl\Forms.pas \Source\Vcl\Graphics.pas \Source\Vcl\IBCustomDataSet.pas \Source\Vcl\IBDatabase.pas \Source\Vcl\IBEvents.pas \Source\Vcl\IBExtract.pas \Source\Vcl\IBGeneratorEditor.dfm \Source\Vcl\IBQuery.pas \Source\Vcl\IBRestoreEditor.dfm \Source\Vcl\IBSecurityEditor.dfm \Source\Vcl\IBServiceEditor.dfm \Source\Vcl\IBSQL.pas \Source\Vcl\IBSQLMonitor.pas \Source\Vcl\IBStoredProc.pas \Source\Vcl\IBTable.pas \Source\Vcl\IBXConst.pas \Source\Vcl\ImgList.pas \Source\Vcl\ListActns.pas \Source\Vcl\Menus.pas \Source\Vcl\MidConst.pas \Source\Vcl\Provider.pas \Source\Vcl\ScktComp.pas \Source\Vcl\SConnect.pas \Source\Vcl\SqlConst.pas \Source\Vcl\SqlExpr.pas \Source\Vcl\SqlTimSt.pas \Source\Vcl\StdActnMenus.pas \Source\Vcl\StdActns.pas \Source\Vcl\StdCtrls.pas \Windows\System32\adortl60.bpl \Windows\System32\adortl60.map \Windows\System32\dbexpress60.bpl \Windows\System32\dbexpress60.map \Windows\System32\dbrtl60.bpl \Windows\System32\dbrtl60.map \Windows\System32\dsnap60.bpl \Windows\System32\dsnap60.map \Windows\System32\dsnapcon60.bpl \Windows\System32\dsnapcon60.map \Windows\System32\ibxpress60.bpl \Windows\System32\ibxpress60.map \Windows\System32\inet60.bpl \Windows\System32\inet60.map \Windows\System32\midas.dll \Windows\System32\qtintf.dll \Windows\System32\rtl60.bpl \Windows\System32\rtl60.map \Windows\System32\soaprtl60.bpl \Windows\System32\soaprtl60.map \Windows\System32\vcl60.bpl \Windows\System32\vcl60.map \Windows\System32\vcldb60.bpl \Windows\System32\vcldb60.map \Windows\System32\visualclx60.bpl \Windows\System32\webdsnap60.bpl \Windows\System32\webdsnap60.map \Windows\System32\websnap61.bpl \Windows\System32\websnap61.map \Windows\System32\xmlrtl60.bpl \Windows\System32\xmlrtl60.map * Note: Not all files listed above are available in all editions of Delphi 6. ============================================================ REMOVING THIS UPDATE PACK There is no uninstall to remove the update. To restore your Delphi 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 Delphi 6 CD image. Important: Delphi32.exe, replaced by this update, is not provided as a separate file on your original Delphi 6 CD. Thus, if you expect that you may need to remove this update for any reason, you should back up Delphi32.exe before installing the update. ============================================================ RESOURCE NEWS A quick-start tutorial for ActionBands (Enterprise and Professional editions only) and a set of ActionBand components that make menus and toolbars look like OfficeXP components are now available at Senior Engineer Steve Trefethen's site at http://www.geocities.com/delphihelp. The site also offers tutorials, links, and information-- including a review and screen shots of Code Completion features --for users of all editions and all levels of expertise. Note: This GeoCities-hosted site is not accessible in all countries. If you are not able to access the site, try Steve's secondary site at http://homepages.borland.com/strefethen. For a list of other Delphi and Borland resources, see the main product README file, located at the root of your Delphi 6 installation directory. ============================================================ HELP UPDATES Updated Help files are not installed with this product patch. Help updates are available for separate download at http:/www.borland.com/techpubs/delphi. Help build dates are noted on the download pages. To check your Help build date, open Delphi6.hlp and choose Help|Version. HELP NOTES ------------------------------ * After installing updated Help on Windows 95, 98, or ME systems, delete the updated DELPHI6.OHI file in your /Delphi6/Help folder, and copy DELPHI6.OHX to DELPHI6.OHI. The replacement OHI will allow you to view a limited Index. For more on the Index limitation imposed by the WinHelp engine on 95/98/ME systems, see the README file at the root of your Delphi 6 installation directory. * If you receive an "Unable to display Find tab" message when attempting to generate a full-text search in Help, close Help, remove all *.fts files in your \WINNT\Help (or \Windows\Help) directory, remove all *.gid (hidden index files) and *.f?? files in your \CBuilder6\Help directory, then restart Help and run full-text search again. Background: WinHelp automatically generates *.gid and *.f?? files when you run Help or when you run a full- text search. If Help components are updated or added, existing copies of these files can cause indexing problems. Removing the auto-generated files allows regeneration of indexes and positional information when Help is rerun. * Bookmarks and annotations are specific to a current Help set, and are not preserved when a new Help file is installed. * On the VCL hierarchy chart provided with your Delphi 6 main product, TWebContainedComponent appears to descend from TIBTimer. It actually descends from TComponent. * Other Help system notes and issues are described in detail in the main product README file, located at the root of your Delphi 6 installation directory. ============================================================ Copyright (c) 2002 Borland Software Corporation. All rights reserved.