Sei sulla pagina 1di 14

C++Builder 6

Release Notes

________________________
This file contains important supplementary and late-breaking information that may not appear in the main product documentation. We recommend that you read this file in its entirety. For information on new features in this release, choose "What's New" in the online Help contents.

________________________
CONTENTS
OTHER RELEASE NOTES INCLUDED WITH THIS PRODUCT ABOUT EDITING THE REGISTRY NOTES AND ISSUES: GENERAL NOTES AND ISSUES: WEB/DISTRIBUTED APPLICATION DEVELOPMENT NOTES AND ISSUES: DATABASE DEVELOPMENT NOTES AND ISSUES: ACTIVEX/COM NOTES AND ISSUES: INTERNATIONAL/LOCALES NOTES AND ISSUES: ONLINE HELP PRODUCT INFORMATION ON THE WEB

________________________
OTHER RELEASE NOTES INCLUDED WITH THIS PRODUCT
INSTALL contains system requirements and product installation information. 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\CBuilder6). You can also find detailed information about new features and compatibility issues in BCB6NEW.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.

________________________
ABOUT EDITING THE WINDOWS REGISTRY

Warning: Registry edits are performed at your own risk. Several items in this document and in other parts of the documentation that accompany this product describe how to edit your Windows registry. In most cases, we recommend that you use the Microsoft Regedit tool to perform your editing. Whatever tool you use, however, you should, before making any edits, make backups of your registry and thoroughly familiarize yourself with the editing tool and the registry editing process. The registry is a critical component of your operating system, and any mistakes made while editing it can cause your machine to stop functioning.

________________________
NOTES AND ISSUES: GENERAL
Compatibility issues

Some C++Builder 5 projects (including complex projects involving database connectivity) will not run as is. If you have trouble running a project from an earlier version, create a new C++Builder 6 project, remove the default unit, add the units from your old project, and recompile. Design-time packages that used ToolsAPI now also require the designide package. To add it, choose File| New|Other|Package; in the Package dialog, select the Requires node, then click Add; in the Add dialog, Browse to your CBuilder6\Lib directory, and choose designide.bpi. Comma-delimited string handling When assigning comma-delimited values to a TStringList using the CommaText property, a trailing comma in the source string will result in a blank item in the StringList. For example, if CommaText is set to: "String1, String2, String3," The StringList will contain: String1 String2 String3 <Blank> This is a change in behavior from previous releases. C++Builder 5 or earlier projects (command-line applications) that link to vcl.lib should change the reference to vcllink.lib. The vcl.lib included with C++Builder 6 does not contain the same functionality as the old vcl.lib. Other compatibility issues between C++Builder 6 and earlier versions of C++Builder, as well as between C++Builder 6 and other products, are described in the install.txt/.rtf document (located in your C+ +Builder6 root directory) What's New section of your online Help system (search for "Compatibility" in the Help Index).
Updating your CORBA applications

To update your existing CORBA applications to work with C++Builder 6, you must change the Conditional

Define option in Project|Options to _USE_OLD_RW_STL.


Common controls library version note

Outdated versions of the Windows common controls library (COMCTL32.DLL) can result in various graphical and behavioral problems when using C++Builder and any programs you develop with C+ +Builder. To help you avoid such problems, C++Builder provides a separate (and redistributable) common controls library updater. Running the updater will refresh an outdated common controls library, but will not replace later versions of the library that may have been installed on your system by other products released after C++Builder 6. Before running the updater, be sure to read the readme.txt and license.txt files that accompany it. And if you redistribute the updater to your customers, be sure to include the readme and license files in the deployment. The common controls updater can be run directly from your CD at: \info\extras\comctl\50comupd.exe
Environment options/environment variable usage

You can now use operating-system environment variables to specify directory paths in certain IDE dialogs. Use of environment variables is available on the Directories/Conditionals page of the Project Options dialog and on the Library page of the Environment Options dialog. The syntax is $(VariableName). For example, under Search Path, you can now enter $(TEMP);$(BCB)\source The $(BCB) macro, used to specify directory paths, still points by default to the directory immediately above C++Builder's bin directory. The Environment Options dialog now has an Environment Variables page that you can use to set OS environment variables.
ActiveX Wizard/licensing issue

[Enterprise, Professional editions only] C++Builder does not directly support the licensing of ActiveX controls for Web deployment. License package (.LPK) files, which are required for runtime licensing of ActiveX controls, can only be generated by LPK_TOOL.EXE, a utility available in Microsoft's Internet SDK. For more information on the licensecreation tool and how it is used, visit http://support.microsoft.com and search for "LPK".
Class Explorer and Windows 98

Since some users may experience issues when using Class Explorer on Windows 98, Class Explorer is neither registered nor enabled by default on that platform. If you are using Windows 98 and you want to enable Class Explorer, a file is provided on your C++Builder installation CD that will allow you to register the feature. The file, CE98.reg, is located on your CD in the folder \info\extras\. To activate it, simply double-click the file name in Windows Explorer or right-click the file name and choose Merge. If you experience issues after installing the feature, you can remove the enabling registry entry by running the Windows registry editor (Regedit) and removing the value that was merged by CE98.reg. To disable Class Explorer: 1. On the Start menu, click Run.

6. 6. 6.

Type regedit, then click OK. Follow this path: HKEY_CURRENT_USER\Software\Borland\ C++Builder\6.0\Known IDE Packages Right-click the value $(BCB)\Bin\bcbcxp60.bpl and choose Delete.

Before editing the Windows registry, please read the warning above in the item "About Editing the Windows Registry." If you are not familiar with the Regedit tool, consult your operating system Help file.
Other general usage issues

When checking variants, use the IsEmpty method instead of NULL. If, after installing TeamSource, you don't see TeamSource listed on your Tools menu, you'll need to manually configure the application to run with C++Builder. To do that, open C++Builder, choose Tools| Configure Tools to open the Tools Options dialog, then click Add to open the Tool Properties dialog, and Browse for your TeamSource application and working directory. You may encounter linker errors (including "[Linker Fatal Error] Fatal: Expected a file name:") if your project includes any paths that contain a "-" (hyphen) or "+" (plus sign). Best practice: Avoid those symbols in any paths used in your project. An Office XP controls demo is located on your installation CD at: \info\extras\officexpcontrols All other demos are installed to your \CBuilder6\Examples directory.

________________________
NOTES AND ISSUES: WEB AND DISTRIBUTED APPLICATION DEVELOPMENT
Using Apache modules in C++Builder 6

The following two steps are required when using Apache DSOs in C++Builder 6 [note: this requirement does not apply to Apache DSOs in Delphi 6]. 1. 2. Choose Project|Options, then the Packages tab. Uncheck the "Build with runtime packages" checkbox. To load Apache modules, you must insert an underscore ("_") as the first character of any module symbols in the LoadModule entry of your http.conf file.

Example: If, for example, you export a module named hello_module and set the content type to hello-handler in your project source file, as shown here: //-----------------------------------------------------extern "C" { Httpd::module __declspec(dllexport) hello_module; } int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)

try { if (reason == DLL_PROCESS_ATTACH) { Apacheapp::set_module(&hello_module); strcpy(Apacheapp::ContentType, "hello-handler"); Application->Initialize(); Application->CreateForm(__classid(TWebModule1), &WebModule1); Application->Run(); } } catch (Exception &exception) { } return 1;

} //-----------------------------------------------------You would need to modify your http.conf file as follows: ############################################# LoadModule _hello_module modules/Hello.dll <Location /hello> SetHandler hello-handler </Location> ##############################################
Using ClearModuleList in Apache httpd.conf

ClearModuleList, enabled by default in Apache 1.3.22 and later (it was previously commented out), offers you two options when developing modules in C++Builder. The command appears between the LoadModule and AddModule lines in httpd.conf: LoadModule foo_module modules/mod_foo.dll ... ClearModuleList ... AddModule mod_foo.c To use the command, either: Add your "LoadModule" command after the ClearModuleList line in httpd.conf. or In your C++Builder project file, change your module name using the strcopy function: strcpy(ModuleName, "MyModuleName"); Then use the existing LoadModule/AddModule sections in httpd.conf, specifying your new module name: AddModule MyModuleName
Web Services notes

A new Echo Service demo is available in your \Examples\WebServices directory. The Web Services Import Wizard and Add Web Service Wizard are not fully functional. Workaround: Use the command-line import tool (wsdlimp.exe). Enum support is available to servers. However, the typeinfo of an enum cannot be explicitly accessed for registration, which means clients are not able to send the proper namespace to a server expecting enum values. Workaround: Give the .CPP module of the client defining the enum the same name as the server. You must add #define DYNARRAY_RTTI to your code in order to use dynamic arrays with Web Services. 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. The THTTPRIO component used for client SOAP connections can be lifetime-managed as either a component or as an interfaced object. It is managed as a component when its owner is non-nil, such as when it is placed on a form or on a data module. In such cases, be sure to nil out any interface references that are not local variables before the owner is destroyed. Example: //-----------------------------------------------------#include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "IMyInterface.h" //-----------------------------------------------------#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //-----------------------------------------------------__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //-----------------------------------------------------__fastcall TForm1::FormCreate(TObject *Sender) { IMyINterfaceIntf service; HTTPRIO1->QueryInterface(service); } //-----------------------------------------------------__fastcall TForm1::Button1Click(TObject *Sender) {

if (service) { service->Method(args); }

//-----------------------------------------------------__fastcall TForm1::FormDestroy(TObject *Sender) { service = 0; }


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. 2. 3. 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. 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. Follow the steps in the Virtual Directory Creation Wizard.

DataSnap notes

The TSoapConnection component now defaults to a different interface: IAppServerSOAP. Reasons for the change: a) IAppServer requires the safe calling convention and the latter is not available on C++, and b) Avoidance of the remote use of OLE Variants. If you want to use a C++ client with current Delphi and Kylix SOAP Data Module servers, be sure to set the 'UseSOAPAdapter' property to false. This will cause the component to revert to IAppServer.
Using the Web App Debugger with C++Builder 5 projects

To run C++Builder 5 Web Server Applications using the C++Builder 6 Web App Debugger, it is necessary to create a new Web Server Application, selecting "Web App Debugger executable" as the server type. Then remove the default WebModule and add your existing WebModules to the new application. For each WebModule you add, add the following code to the unit's initialization section: static void initFunc() { WebRequestHandler()->WebModuleClass = __classid(TWebModule2); } #pragma startup initFunc 31 //------------------------Note that "TWebModule2" should be replaced with the name of the actual WebModule.
WebSnap notes

Environment options:

The Internet tab is used to set some WebSnap configuration options. An external HTML editor must be specified in order to enable the HTML editor command in the Internet toolbar. InterBase 6.5 implementation note If you are using a WebSnap application with InterBase 6.5, a local database connection is not recommended. Instead, use a client/server connection specified by a protocol-specific prefix to the path to the database. Examples: Local connection (not recommended): C:\PathTo\Database\DBName.gdb TCP/IP connection on Windows: saturn:C:\PathTo\Database\DBName.gdb TCP/IP connection on UNIX: jupiter:/usr/PathTo/Database/DBName.gdb NetBEUI connection: \\venus\C:\PathTo\Database\DBName.gdb IPX/SPX connection: mars@vol2:\PathTo\Database\DBName.gdb If the WebSnap application is on the same machine as the server, you can use localhost: localhost:C:\PathTo\Database\DBName.gdb
MSXML.DLL required for SOAP, WSDL, and XMLMapper

The MSXML.DLL library must be present and registered in order to use the new SOAP, WSDL, and XMLMapper features included with this product. If the library is not present on your machine, you can obtain it as part of an XML Parser package from the Microsoft Download Center at: http://www.microsoft.com/downloads/search.asp? Choose the "Keyword Search" option, then search for "MSXML". To register the library from a command prompt, cd to the location where the MSXML.DLL file is installed (e.g. \winnt\system32), then type REGSVR32 MSXML.DLL

________________________
NOTES AND ISSUES: DATABASE DEVELOPMENT
How to statically link dbExpress drivers

Static linking of dbExpress drivers (dbxdsnint.lib for InterBase, dbxdsnora.lib for Oracle, dbxdsndb2.lib for

DB2, or dbxdsnmys.lib for MySQL 3.23.x) in C++Builder is a two-step process: Link the driver, then register both the driver and the DataSnap library. You can enter this code in your TForm constructor. The .lib files are located in your \cbuilder6\lib directory. Important: Do not link more than one dbExpress driver into a project. Linking more than one driver will cause linking errors and may require a corrective shutdown of C++Builder. The following example uses the InterBase driver. Step 1. Include the dbExpress/DataSnap header file: #include <dbxdsnint.h> Step 2. Register the static library: RegisterDbXpressLib(::getSQLDriverINTERBASE); RegisterMidasLib(::DllGetClassObject); Note: DataSnap (a part of what was formerly known as MIDAS) is linked in to each dbExpress driver for C+ +Builder 6. Thus, if you need to statically link DataSnap only for access to midaslib, simply link in any of the drivers listed above.
Updating existing dbExpress configuration files

If the shared dbExpress configuration files dbxconnections.ini and dbxdrivers.ini already exist (default location \Program Files\Common Files\Borland Shared\DBExpress), C++Builder will not overwrite them. Instead, it will install updated configuration files named dbxconnections.win and dbxdrivers.win into the same location as the existing configuration files. To use the new configuration information, first back up the existing .ini files, then manually merge the new data (using any text editor) from the .win files into the .ini files. Important note for Informix users: If you have Delphi 6 installed, you will need to merge the Informix information from the dbx*.win files into your dbx*.ini files, as described above.
DB2 notes for dbExpress

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.
Oracle notes for dbExpress

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. When qualifying a table name with a user name, you must use quotes around the table name when CommandType is set to ctTable.
InterBase 6 Dialect 3

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 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).
Informix BLOB/CLOB fields

A new global variable, InformixLob, is available to allow you to work with Informix BLOB and CLOB fields. The variable is required because Informix BLOB (fldBLOB, fldstHBINARY) and CLOB (fldBLOB, fldstHMEMO) fields are mapped as ftOraBlob and ftOraClob, respectively, and the DataSnap resolver performs special query generation when resolving Oracle BLOB/CLOB fields, but not when resolving Informix BLOB/CLOBs. To address this issue, set InformixLob to True when using Informix BLOB/CLOBs, and switch it back to False (the default) when using Oracle BLOB/CLOBs.
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.
Other database development notes

C++Builder 6 supports InterBase 6.0 and 6.5. The client version and server version must be the same. C++Builder 6 installs sample database files that are compatible with the provided InterBase 6.5. Sample databases which are compatible with older versions of InterBase are on your CD in the Info\Extras directory. Enterprise edition only: Microsoft Data Access Components (MDAC) components are available for separate installation by running MDAC_TYP.EXE from the \MDAC directory on your product CD. A VCL hierarchy change involving TClientDataSet and TCustomClientDataSet causes incompatible parameter lists and affects the behavior of a number of types and events. For details, see What's New Help and search the index for the phrase "compatibility". The MySQL driver (dbexpmysql.dll) has been tested with MySQL version 3.23.45. The new Informix driver (dbexpinf.dll) has been tested with Informix version 9.2.1. The Borland Database Engine CAB file (BDEINST.CAB) is no longer digitally signed. This CAB file is provided for backward compatibility. For new applications, we recommend deploying the BDE with the BDE merge modules.

________________________
NOTES AND ISSUES: ACTIVEX/COM

Variant code failing to compile

Code which uses the TVariant class may fail to compile with an error involving a missing template specialization parameter specification. This is due to a problem with the way template expansion is handled by the compiler. If you encounter this error, open the Compiler page of the Project Options dialog and ensure that 'disable inline expansions' is NOT checked.
Delphi-style custom variants

Delphi-style custom variants are not supported in C++Builder. Thus, you should not create descendants of TCustomVariant.
TVariantInParam

Interface and Variant parameters are no longer passed as smart pointers. As a result, TVariantInParam has been deprecated and code which uses it should be updated.

________________________
NOTES AND ISSUES: INTERNATIONAL/LOCALES
Menu Shortcut Conflicts

Menu shortcuts in the IDE may conflict with system shortcuts and international character key combinations. If you want to disable the Ctrl+Alt hot keys in the IDE, set this DWORD registry key: HKEY_CURRENT_USER\Software\Borland\CBuilder\6.0\ Editor\Options\NoCtrlAltKeys to "1".
Resource DLL Wizard and Windows 2000 locales

The Resource DLL wizard requires a distinct two- or three-letter file extension for each translated version of a project it maintains. For some languages that are written in both Latin and Cyrillic characters, however, Windows 2000 uses the same default extension regardless of the character set (as shown in the table below). If you want to maintain both Latin and Cyrillic versions for such languages, change the extension for one of the translations when you run the Resource DLL wizard. Language Azeri (Cyrillic) Azeri (Latin) Uzbek (Cyrillic) Uzbek (Latin) Locale ID 82C 42C 843 443 Extension AZE AZE UZB UZB

________________________
NOTES AND ISSUES: ONLINE HELP
How to disengage CLX Help Reference linking

[Applies to Enterprise and Professional editions only]

The default Help installation for C++Builder 6 includes documentation for two component libraries: the familiar Visual Component Library (VCL) for Windows development, and the new CLX library documentation for cross-platform development. As a result, you'll often be presented with a choice of two titles when seeking information on a specific object or property--one title from the VCL reference, and the other from the CLX reference. If, however, you are doing Windows platform development only and you'd like to forego the library choice when summoning Help, you can easily disengage the CLX reference from the main Help system's linking mechanisms. Here's how: 1. 6. 6. 6. 6. If C++Builder Help is running, close it (no need to close the C++Builder IDE, though). Using any text editor, open the files BCB6.OHL, BCB6.OHI, and BCB6.OHC (all are located in your CBuilder6\Help directory). In each file, comment out each line containing the string "BLX2CLX" by entering a semicolon as the first character on the line. Save each file. In your CBuilder6\Help folder, delete any hidden files with the extension "GID". Also delete any files with an extension beginning with "F".

Note: All of these files are automatically generated by Help, and will be restored the next time C++Builder Help is run. The GID is a General Index file, and the "F" files are generated when you run a full-text search from the Help Topics dialog. Deleting these files--always recommended when you alter the Help system configuration or install updated Help files--will assure proper indexing and database searching when you restart Help. 6. Restart Help, either by running BCB6.HLP directly from your CBuilder6\Help folder, or by starting it from the IDE using the Help menu or F1. The BLX2CLX.HLP topics should now be excluded from your searches and indexes.

If you also delete the BLX2CLX files from your CBuilder6\Help folder and later decide to restore them (from CD), remember to uncomment the BLX2CLX lines in your *.OH? files to allow the files to be linked back into your larger Help system. You can also use the BCB6.OH* file set to disengage any other part of the Help system (apart from the core BCB6.* set), or add your own Help files to the system.
STL Help

C++Builder now uses STLport as the default STL implementation, and the full set of SGI's online documentation is provided with the product. However, the SGI documentation is in HTML format, and context sensitive search capability is not provided for this release of C++Builder. Instead, context-sensitive searches on STL classes will continue to use the Rogue Wave STL online help. SGI's online documentation is available from C++Builder's Help menu. You can also open the documentation directly, by opening the file called bcb6_stlport.html in the main Help directory. For more information about the STLport project, you can also refer to www.stlport.com.
Windows Help index limitation on Windows 98/Me

The Windows Help engine on Windows 98 and Me uses a 16-bit list box in the Help Topics dialog's Index tab, and can display no more than 32,767 keywords. If this limitation is exceeded, the Index is blank. If you are using one of these operating systems, you may note that the Help Index control file (bcb6.ohi) has been

modified to exclude a number of Help files from the Index. This modification does not affect other Help system functionality--such as crossfile linking or F1 accessibility--and you can expand the index or modify it further to include or exclude any Help file reference by adding or removing semi-colon comment marks before ":Index" entries. When modifying the .OHI file, however, you must keep the WinHelp viewer limitation in mind to avoid the "blank index" problem.
Keeping your Help Index pointers current

Whenever your C++Builder Help system is modified or reconfigured, be sure to delete any hidden *.GID files in your CBuilder6/Help directory before restarting Help.
SHED and MRBC utilities not included

The Help file for the Help Compiler Workshop (HCW) product states that two utilities--SHED.EXE and MRBC.EXE--are included with HCW. We do not, however, ship these utilities with our distribution of HCW. They are included in the full HCW distribution, available free from the Microsoft Web site.
Help may include references to features not available in your edition

Your Help system may include references to features or functionality that is not available in your edition of C++Builder. For example, the Help system included with the Personal Edition includes topics that describe cross-platform development and WebSnap features. These sections of the Help system may be ignored. If you'd like more information about such features and the advantages of upgrading to a version of C+ +Builder that includes them, however, check the C++Builder home site at http://www.borland.com/bcppbuilder/.
"Unable to display Find tab" message

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 fulltext 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.
VCL hierarchy chart errata

On the VCL hierarchy chart, TWebContainedComponent looks like it descends from TIBTimer. It actually descends from TComponent.

________________________
PRODUCT INFORMATION ON THE WEB
In addition to numerous private sites that offer information, instruction, and samples, the following Borland Web-based resources provide a continuous stream of news, product information, updates, code, and other materials. You can connect to many of these resources directly from the Help menu.
C++Builder Direct [Help|C++Builder Direct]

This IDE add-in resource provides an automatically updated list of links to the latest news, downloads, and other information about C++Builder and Borland.

Code Central

The CodeCentral Repository is a free, searchable database of code, tips, and other materials of interest to developers. For details and registration information, visit http://community.borland.com/codecentral/
The Borland Web site

Borland Software Corporation home page: http://www.borland.com/ [IDE: Help|Borland Home Page] C++Builder home page: http://www.borland.com/bcppbuilder/ [IDE: Help|C++Builder Home Page] C++Builder developer support: http://www.borland.com/devsupport/bcppbuilder/ [IDE: Help|C++Builder Developer Support] C++Builder updates and other downloads: http://www.borland.com/downloads/ C++Builder documentation site: http://www.borland.com/techpubs/bcppbuilder/ Newsgroups: http://www.borland.com/newsgroups/ Worldwide offices and distributors: http://www.borland.com/bww/ FTP site (anonymous access): ftp.borland.com

________________________
Copyright (c) 2002 Borland Software Corporation. All rights reserved.

Potrebbero piacerti anche