home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 June / chip-cd_1999_06.zip / 06 / README.TXT < prev    next >
Text File  |  1999-02-03  |  24KB  |  749 lines

  1. ***********************************************************
  2.            C++BUILDER 4 TRIAL
  3. ***********************************************************
  4.  
  5. This is a full 60-day trial of C++Builder 4. In addition you
  6. can also install trials of the following:
  7.  
  8. 1) InterBase 5.5
  9.    To install run \IB5\SETUP.EXE
  10.    The Certificate ID and Key are found in \IB5\svrkey.txt 
  11.  
  12. 2) Remote Debugging Client
  13.    To install run \RDEBUG\SETUP.EXE
  14.  
  15. In-depth information on C++ Builder 4 including: 
  16.       - New feature details 
  17.       - Informational product tours
  18.       - Whitepapers
  19.       - Solutions sheet
  20.       - And more!
  21. Can be found on this CD by pointing your web browser to 
  22.  
  23.     \info\webcontent\web\index.html
  24.  
  25.  
  26. ***********************************************************
  27.            C++BUILDER 4 RELEASE NOTES
  28. ***********************************************************
  29.  
  30. This file contains last minute information about C++Builder
  31. and additional helpful information about the product.
  32.  
  33. TABLE OF CONTENTS
  34. =======================================================
  35.  
  36.   1. WHERE TO FIND INFORMATION
  37.      1.1 Information Files
  38.      1.2 Online Resources
  39.   2. CONTACTING INPRISE
  40.   3. CD-ROM AND INSTALLATION DIRECTORY OVERVIEW
  41.      3.1 CD-ROM Directories
  42.      3.2 Installation Directories
  43.   4. UTILITY PROGRAMS
  44.   5. DOCUMENTATION
  45.   6. ISSUES
  46.   7. INTERNATIONAL ISSUES
  47.  
  48.  
  49. 1. WHERE TO FIND INFORMATION
  50. =======================================================
  51.  
  52. 1.1 Information files
  53. ---------------------
  54. The following information files are included with
  55. C++Builder:
  56.  
  57. File            Information contained
  58. ------------------------------------------------------
  59. README.TXT      Release notes, late-breaking issues 
  60. INSTALL.TXT     Installation requirements, support 
  61.                 numbers
  62. DEPLOY.TXT      Information about deploying C++Builder
  63.                 applications
  64. LICENSE.TXT     C++Builder license agreement
  65.  
  66. For the Borland Database Engine (BDE) and SQL Links, 
  67. the following files are installed in the main BDE 
  68. directory located by default in 
  69. Program Files\Common Files\Borland Shared\BDE.
  70.  
  71. File            Information contained
  72. ------------------------------------------------------
  73. BDEREADME.TXT   Release notes for the Borland Database
  74.                 Engine (BDE) and SQL Links
  75. BDEDEPLOY.TXT   Information about deploying BDE and SQL 
  76.                 Links with applications
  77.  
  78. See the online Help file BCB4NEW.HLP for details on new 
  79. features of C++Builder 4.
  80.  
  81. 1.2 Online Resources
  82. --------------------
  83. You can get more information from any of these online
  84. sources:
  85.  
  86. 1.2.1 World Wide Web
  87. --------------------
  88.   Check Inprise's Web site regularly. The C++Builder
  89.   Product Team will post white papers, competitive
  90.   analyses, answers to frequently asked questions, sample
  91.   applications, updated software, and information about new
  92.   and existing products. You may want to check these URLs
  93.   in particular:
  94.  
  95.   http://www.inprise.com/
  96.     (Main Inprise Web site)      
  97.   http://www.inprise.com/bcppbuilder/
  98.     (C++Builder product information)
  99.   http://www.inprise.com/devsupport/bcppbuilder/
  100.     (C++Builder Developer Support)
  101.   http://www.inprise.com/newsgroups/
  102.     (Inprise-sponsored newsgroups)
  103.  
  104. 1.2.2 Newsgroups
  105. ----------------
  106.   Inprise sponsors a variety of newsgroups where users
  107.   can exchange information about Inprise development
  108.   tools and their use. For a complete list and
  109.   information on connecting to the Inprise news server,
  110.   see the page at the URL:
  111.   
  112.     http://www.inprise.com/newsgroups/
  113.  
  114. 1.2.3 FTP
  115. ---------
  116.   ftp.inprise.com
  117.   (Technical documents available by anonymous ftp.)
  118.  
  119. 1.2.4 Listserv
  120. --------------
  121.   To subscribe to electronic newsletters, use the
  122.   online form at:
  123.     http://www.inprise.com/feedback/listserv.html
  124.   or, for Inprise's international listserver,
  125.     http://www.inprise.com/feedback/intlist.html.
  126.  
  127. 1.2.5 TECHFAX
  128. -------------
  129.   1-800-822-4269 (North America)
  130.   (Technical documents available by fax.)
  131.  
  132. 2. CONTACTING INPRISE
  133. =======================================================
  134. Inprise offers a range of support services for C++Builder
  135. (and other tools). For information, see the URL:
  136.  
  137.   http://www.inprise.com/programs/assist/
  138.  
  139. For assistance outside of North America, contact your
  140. local Inprise representative. For a list of offices and
  141. distributors world-wide, see the page at the URL:
  142.  
  143.   http://www.inprise.com/bww/
  144.  
  145. 3. CD-ROM AND INSTALLATION DIRECTORY OVERVIEW
  146. =======================================================
  147.  
  148. 3.1 CD-ROM Directories
  149. ----------------------
  150. The C++Builder 4 CD-ROM includes the following files and
  151. directories.
  152.  
  153.   [root]
  154.   Contains files used for installation, registration
  155.   and text files such as the README.TXT and INSTALL.TXT:
  156.  
  157.  
  158.   \IB5           Contains the InterBase 5.5 Server.
  159.                  (Professional edition and higher)
  160.  
  161.   \INSTALL       Contains the C++Builder 4 setup program
  162.                  and related files.
  163.  
  164.   \ISXPRESS      Contains InstallShield Express, a
  165.                  customized application deployment tool
  166.                  for C++Builder 4.
  167.                  (Professional edition and higher)
  168.  
  169.   \OLENT         Contains OLEnterprise files.
  170.  
  171.   \RDEBUG        Contains the files to install the
  172.                  Remote Debugger. (Enterprise edition)
  173.  
  174.   \RUNIMAGE      Contains a complete C++Builder
  175.                  installation. All files are unpacked
  176.                  and in the default directory
  177.                  structure.
  178.  
  179.   \VBROKER       Contains VisiBroker for C++ version 3.3.
  180.                  (Enterprise edition)
  181.  
  182.   \NETSCAPE      Netscape Navigator 4.5.
  183.  
  184.   \IE40          Microsoft Internet Explorer 4.0.
  185.  
  186.   \WORKSHOP      Contains Resource Workshop version 4.5,
  187.                  a 16-bit resource editor.
  188.  
  189. 3.2 Installation Directories 
  190. ---------------------------- 
  191. These are the default directories (and their contents) 
  192. associated with a full C++Builder 4 installation. Some modules 
  193. do not come with all editions of C++Builder and these are 
  194. noted where applicable. 
  195.  
  196.   \Program Files\Borland\CBuilder4\Bin 
  197.     (C++Builder system files) 
  198.  
  199.   \Program Files\Borland\CBuilder4\Doc 
  200.     (.INT files with object declarations for objects 
  201.     without source files and the BDE API) 
  202.  
  203.   \Program Files\Borland\CBuilder4\Examples 
  204.     (C++Builder demo programs) 
  205.  
  206.   \Program Files\Borland\CBuilder4\Help 
  207.     (C++Builder online Help files) 
  208.  
  209.   \Program Files\Borland\CBuilder4\Imports 
  210.     (user-created files the compiler needs to find) 
  211.  
  212.   \Program Files\Borland\CBuilder4\Include 
  213.     (C++Builder header and source files) 
  214.  
  215.   \Program Files\Borland\CBuilder4\Lib 
  216.     (C++Builder library files) 
  217.  
  218.   \Program Files\Borland\CBuilder4\Objrepos 
  219.     (Object Repository) 
  220.  
  221.   \Program Files\Borland\CBuilder4\Ocx 
  222.     (Third-party OCX files) 
  223.  
  224.   \Program Files\Borland\CBuilder4\Projects 
  225.     (Location for storing projects) 
  226.  
  227.   \Program Files\Borland\CBuilder4\Source 
  228.     (VCL source .PAS files in Professional edition and 
  229.     higher) 
  230.  
  231.   \Program Files\Borland\Database Desktop 
  232.     (Database Desktop utility in Professional edition 
  233.     and higher) 
  234.  
  235.   \Program Files\Common Files\Borland Shared\BDE 
  236.     (Borland Database Engine system files; SQL 
  237.     Links system files in Professional edition and 
  238.     higher) 
  239.  
  240.   \Program Files\Common Files\Borland Shared\Data 
  241.     (Sample dBASE and Paradox tables in Professional 
  242.     edition and higher) 
  243.  
  244.   \Program Files\Common Files\Borland Shared\Debugger 
  245.     (Debugger files) 
  246.  
  247.   \Program Files\Common Files\Borland Shared\Images 
  248.     (Sample image files, button glyphs, splash screen 
  249.     images, more) 
  250.  
  251.   \Program Files\Common Files\Borland Shared\SampleDictionary 
  252.     (Sample data dictionary in Professional edition and 
  253.     higher) 
  254.  
  255.   \Program Files\Common Files\Borland Shared\MSHelp 
  256.     (Microsoft SDK Help files) 
  257.  
  258.   \Program Files\Borland\vbroker 
  259.     (VisiBroker for CORBA support in Enterprise edition) 
  260.  
  261.   \Runimage\CBuilder4\Windows 
  262.     (Windows system files) 
  263.   
  264. 4. UTILITY PROGRAMS
  265. =======================================================
  266. C++Builder 4 comes with a number of helper, utility 
  267. applications including:
  268.  
  269.   Resource compiler
  270.     BRCC32.EXE, in ..\CBuilder4\Bin
  271.  
  272.   Database Explorer (Pro Edition) or
  273.   SQL Explorer (Enterprise edition)
  274.     DBEXPLOR.EXE, in ..\CBuilder4\Bin
  275.  
  276.   Database Desktop (Pro edition or higher)
  277.     DBD32.EXE, in \Program Files\Borland\Database Desktop
  278.  
  279.   GREP
  280.     GREP.EXE, in ..\CBuilder4\Bin
  281.  
  282.   Image Editor
  283.     IMAGEDIT.EXE, in ..\CBuilder4\Bin
  284.  
  285.   Make utility
  286.     MAKE.EXE, in ..\CBuilder4\Bin
  287.  
  288.   MTS installation (Enterprise edition)
  289.     MTSINST.EXE, in ..\CBuilder4\Bin
  290.  
  291.   OpenHelp Help customization tool
  292.     (Pro edition or higher)
  293.     OH.EXE, in ..\CBuilder4\Bin
  294.  
  295.   Package Component Editor
  296.     (Pro edition or higher)
  297.     PCE.EXE, in ..\CBuilder4\Bin
  298.  
  299.   Project Conversion utility
  300.     IDETOBPR.EXE, in ..\CBuilder4\Bin
  301.  
  302.   SQL Monitor (Enterprise edition)
  303.     SQLMON.EXE, in ..\CBuilder4\Bin
  304.  
  305.   Type Library Wrapper File Generator
  306.     TLIBIMP.EXE, in ..\CBuilder4\Bin
  307.  
  308.   TDump
  309.     TDUMP.EXE,  in ..\CBuilder4\Bin
  310.  
  311.   TRegSrvr
  312.     TREGSRVR.EXE, in ..\CBuilder4\Bin
  313.  
  314.   Visual C++ Conversion Wizard
  315.     VCTOBPRU.EXE, in ..\CBuilder4\Bin
  316.  
  317. For information on more tools, see BCB4TOOL.HLP.
  318.   
  319. 5. DOCUMENTATION
  320. =======================================================
  321. The C++Builder 4 on-line documentation consists primarily
  322. of the following Windows Help files:
  323.  
  324.   File          Purpose
  325.   ------------  -----------------------------------
  326.   BCB4.HLP      Main C++Builder Help
  327.   BCB4COM.HLP   Developing COM-based Applications
  328.   BCB4CW.HLP    Creating Custom Components
  329.   BCB4DAP.HLP   Writing Distributed Applications
  330.   BCB4DBD.HLP   Developing Database Applications
  331.   BCB4ERRS.HLP  Error Messages and Warnings
  332.   BCB4LANG.HLP  C++Builder Language Guide
  333.   BCB4NEW.HLP   What's New and Upgrading to C++Builder 4
  334.   BCB4PROG.HLP  Programming with C++Builder
  335.   BCB4RTL.HLP   C Runtime Library Reference
  336.   BCB4SCL.HLP   Standard C++ Library
  337.   BCB4VCL.HLP   VCL Reference
  338.   BCB4TOOL.HLP  Command-line Tools
  339.   DEL4OP.HLP    Object Pascal Reference
  340.   OPENHELP.HLP  Customizing Help
  341.  
  342. Refer to BCB4NEW.HLP for a list of new features.
  343. Read "Upgrading to C++Builder 4" in BCB4NEW.HLP for 
  344. information about compatibility with previous releases.
  345. Look in the Help directory for other related Help files.
  346.  
  347. 6. ISSUES
  348. =======================================================
  349. Following are issues of interest to C++Builder 
  350. developers. 
  351.  
  352. Installing on Windows 98
  353. ------------------------
  354. You may have problems installing on Windows 98 when 
  355. using the Browse button to change directories with some 
  356. Client for NetWare Drivers. For information, refer to the
  357. knowledgebase document Q102400 at www.installshield.com.
  358.  
  359. Using COM
  360. ---------
  361. Console-mode clients must include VCL support in order
  362. to talk to DCOM servers built in C++Builder.
  363.  
  364. BORDBK41.DLL Missing or Not Registered
  365. --------------------------------------
  366. If you do not reboot your computer after installation, 
  367. you may see a message stating that BORDBK41.DLL is 
  368. missing or not registered when you build a blank form.
  369. Reboot the computer. If you still receive the message, 
  370. manually register the DLL using TRegSvr.exe in the
  371. Bin directory:
  372.  
  373. TREGSVR <path to BORDBK41.DLL>
  374.  
  375. The default path is
  376.  
  377. C:\Program Files\Common Files\Borland Shared\Debugger\BORDBK41.DLL
  378.  
  379. Using ClassExplorer
  380. -------------------
  381. ClassExplorer, by design, shows information on classes found
  382. in header files that you include in your project within
  383. double quotes. To see information in classes in headers 
  384. included within angle brackets, change the angle brackets 
  385. to double quotes.
  386.  
  387. Uninstalling Delphi
  388. -------------------
  389. You can run Delphi and C++Builder on the same computer. 
  390. If you uninstall Delphi after installing C++Builder, 
  391. however, all .BPL files residing in the Windows system 
  392. directory will be deleted including those you need 
  393. for C++Builder. 
  394.  
  395. After uninstalling Delphi, you'll need to recopy the .BPL 
  396. files from the C++Builder CD. Copy all BPL files (*.BPL) 
  397. from Runimage\CBuilder4\Windows\System32 and put them in 
  398. your \Windows\System (Windows 95 and 98) or \Winnt\System32 
  399. (Windows NT) directory.
  400.  
  401. Templates 
  402. ---------
  403. Member template constructors cannot be made "explicit". 
  404.  
  405. Calling Member Functions using Object References
  406. ------------------------------------------------
  407. For properties that return an object by reference using a 
  408. getter function, you cannot then call a member function 
  409. using that object reference directly.  This happens if 
  410. member functions are out of line, and if the property's 
  411. type size is greater than 4 bytes.
  412.  
  413. Example:
  414.  
  415.     class foo {
  416.     public:
  417.         foo() {}
  418.         void __fastcall method();
  419.     };
  420.     
  421.     void __fastcall foo::method() { }
  422.     
  423.     class bar {
  424.     public:
  425.         bar() { }
  426.         foo FProp;
  427.         foo& __fastcall GetProp();
  428.         __property foo& Prop = {read = GetProp};
  429.     };
  430.     
  431.     foo& __fastcall bar::GetProp() { return FProp; }
  432.     
  433.     int main()  //this does not work
  434.     {
  435.         bar x;
  436.         x.Prop.method();
  437.     }
  438.  
  439. You need to assign the result of the property to a local
  440. variable, and then call the method on that local variable.
  441. To fix this, rewrite main as follows:
  442.  
  443.     int main()  //this works now
  444.     {
  445.         bar x;
  446.         foo &temp = x.Prop;
  447.         temp.method();
  448.     }
  449.  
  450. Passing Standard C Functions
  451. ----------------------------
  452. When calling algorithm functions in the standard C++ 
  453. library, standard C functions passed as function 
  454. pointers must use the qualifier std::.
  455.  
  456. Example:
  457.  
  458.     vector<double> vd;
  459.     vector<string> vs;
  460.  
  461.     // will NOT work:
  462.     transform(vs.begin(), vs.end(), vd.begin(), atof); 
  463.     // will work:      
  464.     transform(vs.begin(), vs.end(), vd.begin(), std::atof); 
  465.  
  466. Upgrading C++Builder 3 COM Server Projects
  467. ------------------------------------------
  468. When upgrading COM server projects to C++Builder 4,
  469. you must regenerate the server's Type Library and 
  470. auto-generated C++ files, and refresh the server's 
  471. implementation files, as follows:
  472.  
  473. 1. Open the COM server project in C++Builder 4.0.
  474. 2. Choose View|Type Library.
  475. 3. Select the primary coclass node in the tree view.
  476. 4. Select the Implements page.
  477. 5. Set focus to the primary interface in the table view
  478. 6. Right-click and change any flag (such as 'default').
  479.    IMPORTANT: 
  480.    Now right-click and change it back to the way it was!
  481. 7. Choose File|Save All (this forces the refresh).
  482. 8. Choose Project|Build All.
  483.  
  484. Changes to Import ActiveX Control
  485. ---------------------------------
  486. A separate C++ file (and header) is now generated for 
  487. use as the primary import file when adding ActiveX
  488. controls to the C++Builder component palette.
  489. This is named libname_OCX.CPP (libname_OCX.H).
  490.  
  491. In C++Builder 3.0, the word 'Proxy' was always added
  492. to the internal coclass names of the control. This is
  493. no longer done. Before opening C++Builder 3 projects
  494. that use imported controls, you must import the controls 
  495. into C++Builder 4. If you have existing projects that 
  496. use imported controls whose VCL classname includes the 
  497. appended 'Proxy', add the word 'Proxy' to the 
  498. classnames when importing the controls so references 
  499. in code will still be valid.
  500.  
  501. Be sure that all references to the control's wrapper
  502. files (*_TLB) reference the newly generated files and
  503. not out-of-date ones. The new source files are stored
  504. in the Imports directory by default.
  505.  
  506. The unit.cpp associated with the form on which the
  507. control component is used will have a statement like:
  508.  
  509. #pragma link "libname_TLB"
  510.  
  511. You can remove that line because the file will be
  512. updated automatically with
  513.  
  514. #pragma link "libname_OCX"
  515.  
  516. after saving all, then rebuilding the project.
  517.  
  518. Multiple Versions of VisiBroker (Enterprise edition)
  519. ----------------------------------------------------
  520. As a general rule, you should only install one version 
  521. of the ORB runtime at a time (see the VisiBroker release 
  522. notes for details).
  523.  
  524. You can install multiple versions of VisiBroker on 
  525. the same computer (for example, if you install both 
  526. C++Builder and JBuilder) only if you follow these rules:
  527.   
  528. 1. An application selects the ORB runtime libraries 
  529.    when started based on the PATH environment 
  530.    property. Be sure that each application uses the 
  531.    appropriate PATH so that it loads the correct ORB. 
  532.  
  533. 2. Certain properties are based on registry settings
  534.    set during installation. If distinct applications 
  535.    need to run simultaneously with different registry 
  536.    settings for OSAGENT_PORT or VBROKER_ADM: either 
  537.    (a) reset the registry values using vregedit.exe 
  538.    before starting each application, or (b) override 
  539.    these settings using an environment variable or 
  540.    command-line option when starting each application.
  541.  
  542. If these rules are not followed, you may encounter a memory
  543. exception when compiling IDL files in C++Builder (idl2cpp). 
  544.  
  545. Microsoft Transaction Server (MTS) Issues
  546. -----------------------------------------
  547. If Microsoft Transaction Server (MTS) is installed
  548. before C++Builder 4, you must set MTS POOLING to 
  549. true in the Borland Database Engine (BDE) configuration 
  550. file. Use the BDE Administator to do this. The MTS POOLING 
  551. setting is in the System/Init area of the configuration. 
  552. This setting enables the BDE to use MTS pooling, improving 
  553. the initial connection time when opening a database and
  554. allowing BDE database connections to participate in MTS
  555. transactions.
  556.  
  557. If MTS is installed after C++Builder 4, you must perform
  558. the following steps:
  559.  
  560. 1. Copy DISP.DLL from the RUNIMAGE directory on the
  561.    C++Builder CD into the BDE directory on the host
  562.    computer.
  563.  
  564. 2. Issue the following command:
  565.    REGSVR32 <BDE directory>\DISP.DLL
  566.  
  567. 3. In Transaction Server Explorer, install BDE-MTS
  568.    package:
  569.      a. Right-click on Packages Installed.
  570.      b. Choose New|Package.
  571.      c. Choose Install pre-built packages.
  572.      d. Add the file DISP.PAK from the BDE directory.
  573.  
  574. 4. Set the value of MTS POOLING to true in the
  575.    System/Init section of the BDE configuration.
  576.  
  577. Oracle8
  578. -------
  579. When working with MTS, OBJECT MODE (Oracle8 driver in
  580. BDE configuration) should be set to false.
  581.  
  582. Partition tables are not supported.
  583.  
  584. TDBGrid may have difficulty displaying data when the
  585. associated dataset consists of tables nested too deeply
  586. (generally, five or more levels of nesting).
  587.  
  588. Oracle8 client does not work correctly on Windows 98.
  589. Attempts to use client utilities raises a dialog box:
  590. "Some features of Oracle Version 8 may not run
  591. correctly in Windows 98. For possible updates please
  592. check the Oracle web site". C++Builder displays the BDE 
  593. error "Cannot load driver".
  594.  
  595. The following tools do not fully support Oracle8
  596. object field types:
  597.  
  598.   Database Desktop
  599.   Data Pump
  600.   QuickReport components
  601.   TeeChart component
  602.   DataSetTableProducer and QueryTableProducer
  603.   SQL Builder
  604.   Decision Cube components
  605.   Data dictionary
  606.   Database Explorer
  607.   Database Form Wizard
  608.  
  609. Connection Components and WinSock 2
  610. -----------------------------------
  611. TSocketConnection, TMidasConnection, ScktSrvr, and
  612. ScktSrvc all require WinSock 2. WinSock 2 is installed
  613. with Windows 98 and NT. For Windows 95, download
  614. WinSock 2 from the Microsoft Web site.
  615.  
  616. References to VCL.LIB
  617. ---------------------
  618. Standard Version Only: Developers who are upgrading 
  619. C++Builder 1 projects or those who write their own 
  620. makefiles may encounter linker errors if the makefile 
  621. uses VCL.LIB.
  622.  
  623. If you are using the Standard edition of C++Builder 4, 
  624. do not use the library called VCL.LIB. Replace all 
  625. references to VCL.LIB with vcl40.lib, vclx40.lib, 
  626. dclocx40.lib, and bcbsmp40.lib.  
  627.  
  628. For example, change the following line in C++Builder 1
  629. makefiles:
  630.  
  631. ALLLIB = $(LIBFILES) vcl.lib import32.lib cp32mt.lib
  632.  
  633. to
  634.  
  635. ALLLIB = $(LIBFILES) vcl40.lib vclx40.lib dclocx40.lib 
  636.          bcbsmp40.lib import32.lib cp32mt.lib
  637.  
  638. Upgrading OWL Projects
  639. ----------------------
  640. OWL classes in C++Builder are now placed in the
  641. OWL namespace. Make sure that derived OWL classes 
  642. are in that namespace when you compile. For example, 
  643. if you have declarations like this in your source:
  644.  
  645. class _OWLCLASS TBitmap;
  646.  
  647. you must wrap them in a namespace declaration:
  648.  
  649. namespace OWL
  650. {
  651.     class _OWLCLASS TBitmap;
  652. };
  653.  
  654. In addition, you may need to adjust the resource 
  655. include path in a project converted by IDETOBPR. 
  656. After loading the converted BPR file, invoke 
  657. Project|View makefile, and search for RFLAGS and 
  658. add the OWLFILES path $(BCB)\INCLUDE\OWLFILES 
  659. to that line. 
  660.  
  661. Note that references to $(BCB)\INCLUDE\OBSOLETE 
  662. in the Help system should be changed to 
  663. $(BCB)\INCLUDE\OWLFILES.
  664.  
  665. Addition to the Developer's Guide
  666. ---------------------------------
  667. For component writers: If you want to use components 
  668. written in Delphi in C++Builder, you need to explicitly 
  669. generate unique types to the HPP (see "Declaring Types" 
  670. in Del4OP.HLP).
  671.  
  672. 1. Use $NODEFINE on the unique type symbol
  673. 2. Use $HPPEMIT to output a suitable C++ type definition
  674.  
  675. For example, consider the following Object Pascal code:
  676.  
  677. type
  678.   Temperature = type double;
  679.  
  680. The proper way to handle this is:
  681.  
  682. type
  683.   Temperature = type double;
  684.   (*$NODEFINE Temperature*)
  685.   (*$HPPEMIT 'typedef double Temperature'*)
  686.  
  687. $HPPEMIT directives are output into the 'user supplied' 
  688. section at the top of the HPP in the order in which they are 
  689. encountered in the Pascal file.  There is no way to emit
  690. text at a particular point in the HPP file.
  691.  
  692. Addition to VCTOBPR Documentation
  693. ---------------------------------
  694. Note the following when using the Microsoft Visual C++
  695. Project Conversion Utility:
  696.  
  697. Before converting a Visual C++ project (version 5), be 
  698. sure to move local source file options to the global options
  699. set for the target. Otherwise, the local options will be
  700. lost.
  701.  
  702. Before converting your Visual C++ project, make sure that
  703. the correct output directory is specified in the 
  704. General page of the Project|Settings.
  705.  
  706. When converting a Visual C++ project, you also need to
  707. recompile all OBJ files in C++Builder.
  708.  
  709. 7. INTERNATIONAL ISSUES
  710. =======================================================
  711.  
  712. Menu Shortcut Conflicts
  713. ------------------------
  714. Menu shortcuts in the IDE may conflict with system
  715. shortcuts and international character key
  716. combinations. If you want to disable the Ctrl+Alt hot
  717. keys in the IDE, set this string registry key:
  718.  
  719. HKEY_CURRENT_USER\Software\Borland\Editor\Options\
  720.   NoCtrlAltKeys to "1"
  721.  
  722. Perl-Compatible Regular Expressions
  723. -----------------------------------
  724. For Perl-compatible regular expressions to support locales, 
  725. you must define __USELOCALES__:
  726.  
  727. 1. Copy maketables.c from 
  728.    \Runimage\CBuilder4\Source\RTL\source\pcre 
  729.    to your project directory.
  730. 2. Add maketables.c to your project.
  731. 3. Choose Project|Options. On the Directories/Conditionals
  732.    page, add __USELOCALES__ to the Conditional defines.
  733.  
  734. toupper() and tolower()
  735. -----------------------
  736. If the current locale is not the "C" locale, toupper() and 
  737. tolower() may return incorrect results. To ensure correct 
  738. results, typecast to an unsigned char. For example:
  739.  
  740. int c = toupper('a');  == int c = (unsigned char) toupper('a');
  741.  
  742.  
  743. =======================================================
  744. Unless otherwise noted, all materials provided in this
  745. release are Copyright 1983 - 1999 by Inprise
  746. Corporation.
  747. ======================= END ===========================
  748.  
  749.