home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 October / PCWorld_1999-10_cd1.bin / delphi / INSTALL / README.TXT < prev    next >
Text File  |  1999-08-11  |  50KB  |  1,480 lines

  1. ===============================================
  2. DELPHI 5 TRIAL EDITION 
  3. RELEASE NOTES
  4. ===============================================
  5.  
  6. IMPORTANT 
  7. PRE-INSTALLATION NOTES:
  8.  
  9. Distributing applications generated with this
  10. Trial version of Delphi is prohibited.
  11.  
  12. Trial requires MSIE 4.0 or later on Win95
  13. -----------------------------------------------
  14. If you are running Windows 95 or 95B, you 
  15. MUST have the Microsoft Internet Explorer 
  16. (MSIE) browser version 4.0 or later installed 
  17. in order to use this Trial. If you do not have 
  18. MSIE 4.0 or later, you can download the latest 
  19. version of the browser from the Microsoft Web 
  20. site at http://www.microsoft.com/windows/ie
  21.  
  22. Premature expiration
  23. -----------------------------------------------
  24. On some machines, this Trial edition may expire 
  25. prematurely. If this happens to you, visit our
  26. Online Services site at:
  27. http://pso.inprise.com/devsupport/WelcomePage.html
  28. then:
  29. -- Click the Install Support link.
  30. -- Click Create Case, and follow the instructions 
  31.    on each page.
  32. We will then email you information that will 
  33. allow you to continue your evaluation.
  34.  
  35. ===============================================
  36. ABOUT THIS DOCUMENT
  37. This Trial version of the Delphi 5 release
  38. notes may contain references to features that
  39. are not included in the Trial. Please ignore
  40. these items, as well as the edition markings
  41. ("Enterprise, Professional, Standard", etc.)
  42. that are contained in this and other
  43. documentation.
  44.  
  45.  
  46. CONTENTS
  47. ===============================================
  48.  
  49. -- INSTALLATION NOTES 
  50.       (READ BEFORE CONTINUING)
  51.  
  52. -- OTHER RELEASE NOTES 
  53.       INCLUDED WITH THIS PRODUCT
  54.  
  55. -- ABOUT EDITING THE REGISTRY
  56.  
  57. -- THIRD-PARTY PRODUCT NOTES 
  58.       AND KNOWN ISSUES
  59.  
  60. -- DELPHI 5 KNOWN ISSUES
  61.  
  62. -- ADDITIONAL COMPATIBILITY NOTES
  63.  
  64. -- ONLINE HELP OMISSIONS, 
  65.       CORRECTIONS, AND CLARIFICATIONS
  66.  
  67. -- DOCUMENTATION USAGE NOTES
  68.  
  69. -- DELPHI ON THE WEB
  70.  
  71.  
  72. INSTALLATION NOTES
  73. ===============================================
  74. The following items describe known issues, 
  75. behavior, and functionality that can affect 
  76. installation of this product. For other
  77. installation issues, including how to remove
  78. the product, see the file INSTALL.TXT.
  79.  
  80. Minimum system requirements
  81. -----------------------------------------------
  82.   * Intel Pentium 90 or higher (P166 recommended)
  83.   * Microsoft Windows 95, 98, 
  84.     or NT 4.0 with Service Pack 3 or later
  85.   * Memory: 32MB of RAM (64MB or more recommended)
  86.   * 80MB hard disk space (Compact install)
  87.   * CD drive
  88.   * VGA or higher resolution monitor
  89.   * Mouse or other pointing device
  90.   * Networks supported: Any Microsoft Windows 
  91.     95, 98, or Windows NT or higher compatible 
  92.     network
  93.     
  94. If you've installed Delphi before
  95. -----------------------------------------------
  96. You can install to the same machine (though to
  97. a different location) as another version of the 
  98. product. If you want to install to the same 
  99. directory as an existing version, uninstall the 
  100. existing version first. In either case, you 
  101. should back up your IDAPI.CFG file (if one is
  102. present) and any other important data, including 
  103. existing projects that you intend to use with 
  104. this version.
  105.  
  106. Uninstall Internet Control Pack
  107. -----------------------------------------------
  108. If you have installed any previous release of 
  109. the Microsoft Internet Control Pack, uninstall 
  110. that version before installing Delphi.
  111.  
  112. Installing from a network or shared drive
  113. -----------------------------------------------
  114. If installing from a network or shared drive, 
  115. you must map a drive letter to the server and
  116. folder that contains the INSTALL.EXE program 
  117. that initiates installation of this product.
  118.  
  119. Windows 98 users: The directory Browse button 
  120. may cause the installation to halt 
  121. ----------------------------------------------
  122. If installing under Windows 98 with Microsoft
  123. Client for NetWare Networks and the Microsoft 
  124. Service for NetWare Directory Services (MSNDS)
  125. network clients:
  126.  
  127. Installation may exit or stop with a fatal 
  128. error message if you click the Browse button 
  129. on the directory selection dialog. 
  130.  
  131. Workaround: If you choose not to install to 
  132. the default directories, type your directory 
  133. choices into the dialog fields, rather than 
  134. clicking Browse. 
  135.  
  136. For more information on this problem, see the 
  137. following technical articles at the InstallShield 
  138. and Microsoft sites:
  139.  
  140. Search for article Q192249 at:
  141. http://support.microsoft.com/search/default.asp
  142.  
  143. Search for article Q102400 at:
  144. http://support.installshield.com
  145.  
  146. InstallShield and Microsoft Outlook 98
  147. --------------------------------------
  148. If Outlook 98 is running when you install Delphi,
  149. InstallShield will hang. We strongly recommend 
  150. that you close Outlook 98 and all other Windows 
  151. programs before installing Delphi.
  152.  
  153. Performing a Custom installation
  154. -----------------------------------------------
  155. To conserve disk space, you can perform a custom 
  156. installation, selecting only the options you 
  157. require. To do so, select the Custom radiobutton 
  158. in the Setup Type dialog during installation. Disk 
  159. space required for the total custom installation 
  160. and individual options is displayed as you select
  161. or deselect options.
  162.  
  163. Among the options is to install Registry keys only. 
  164. This option can be used to repair keys damaged as 
  165. a result of a computer crash or to set up sets of 
  166. registry keys for different user profiles. 
  167.  
  168. During a Custom install using registry keys only, 
  169. you may select to install minimal files. These are 
  170. files in the Windows system directory; the option 
  171. installs the files and defines the registry keys.
  172.  
  173. Just-In-Time Debugging
  174. -----------------------------------------------
  175. During installation, you have the option of 
  176. updating your Just-In-Time Debugger registry 
  177. settings. 
  178.  
  179. If you choose to update your registry, changes 
  180. are made to the key:
  181. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
  182.   Windows NT\CurrentVersion\AEDebug\Debugger 
  183.  
  184. The key is changed to:
  185. C:\Program Files\Borland\Delphi\bin\
  186.    bordbg50.exe -aeargs %ld %ld
  187. (where C:\Program Files\Borland\ 
  188.  is the installation directory)
  189.  
  190. If you do not perform the update during 
  191. installation, you get a second chance to update 
  192. the registry at program startup. The Just-In-Time 
  193. Debugger automatically starts when any program 
  194. running on your computer fails. Just-In-Time 
  195. debugging and distributed debugging will not work, 
  196. however, unless this registry setting is updated.
  197.  
  198. If you want to preserve your existing AEDebug 
  199. settings in case you want to change them back 
  200. at a later date, you must follow these steps 
  201. BEFORE updating the registry settings:
  202.  
  203. 1.  Run Regedit.
  204. 2.  Select the AEDebug key (noted above).
  205. 3.  Choose Registry | Export Registry File.
  206. 4.  Name and save the file containing the AEDebug key.
  207.  
  208. To restore the AEDebug settings you can:
  209.  
  210. 1.  Run Regedit.
  211. 2.  Choose Registry | Import Registry File.
  212. 3.  Specify the file in which you saved the AEDebug key.
  213.  
  214.  
  215. OTHER RELEASE NOTES 
  216. INCLUDED WITH THIS PRODUCT
  217. ===============================================
  218.  
  219. INSTALL.TXT contains system requirements 
  220. and information on installing and removing 
  221. the product.
  222.  
  223. DEPLOY.TXT contains information about 
  224. redistributing Delphi applications. 
  225.  
  226. LICENSE.TXT contains information on 
  227. licensing allowances and limitations for this 
  228. product and other Inprise software that is 
  229. bundled with it.
  230.  
  231. The three text files listed above, along with
  232. this file, are installed to your main Delphi5
  233. directory (default: c:\Program Files\Borland\Delphi5).
  234.  
  235. DEL5NEW.HLP covers new features and 
  236. compatibility issues. This file is part of 
  237. the main online Help system (see "What's New"
  238. in the Help contents or index).
  239.  
  240. Enterprise and Professional editions only:
  241. BDEREADME.TXT, BDEINST.TXT and 
  242. BDEDEPLOY.TXT contain release notes, 
  243. installation, and deployment information about 
  244. the Borland Database Engine (BDE) and 
  245. Borland SQL Links products. These files are 
  246. located in your main BDE directory 
  247. (installation default: 
  248.   c:\Program Files\Common Files\Borland Shared\Bde).
  249. IMPORTANT: Any BDE-related information in this
  250. README.TXT overrides any corresponding information
  251. provided in the BDE release notes.
  252.  
  253. Additional notes about existing issues with BDE 
  254. and utility applications supplied with BDE are 
  255. covered in the DELPHI 5 KNOWN ISSUES section
  256. later in this document.
  257.  
  258.  
  259. ABOUT EDITING THE WINDOWS REGISTRY
  260. -----------------------------------------------
  261. Warning: 
  262. Registry edits are performed at your own risk.
  263.  
  264. Several items in this document and in other 
  265. parts of the documentation that accompany this 
  266. product describe how to edit your Windows 
  267. registry. In most cases, we recommend that you 
  268. use the Microsoft Regedit tool to perform your 
  269. editing. Whatever tool you use, however, you 
  270. should, before making any edits, make backups
  271. of your registry and thoroughly familiarize
  272. yourself with the editing tool and the 
  273. registry editing process. The registry is a 
  274. critical component of your operating system, 
  275. and any mistakes made while editing it can 
  276. cause your machine to stop functioning.
  277.  
  278.  
  279. THIRD-PARTY PRODUCT NOTES 
  280. AND KNOWN ISSUES
  281. ===============================================
  282.  
  283. The following items describe issues and problems
  284. you may encounter when using Delphi 5 with other
  285. tools and applications. Additional third-party
  286. and external application issues may also appear 
  287. in the "DELPHI 5 KNOWN ISSUES" section.
  288.  
  289. Installing Microsoft Data Access Components
  290. -----------------------------------------------
  291. [Enterprise edition only]
  292. If you need to update your Microsoft Data 
  293. Access Components (MDAC) to version 2.1.2
  294. after installing Delphi, run MDAC_TYP.EXE 
  295. from the \MDAC directory on your Delphi CD.
  296.  
  297. Uninstalling when McAfee virus scanner active
  298. -----------------------------------------------
  299. Because it normally scans "outbound files" 
  300. (such as files being uninstalled), recent 
  301. versions of McAfee virus scanner may cause long
  302. delays during Delphi uninstallation. Windows NT
  303. users can switch off this protection option by
  304. right-clicking the VShield icon in the system 
  305. tray, choosing Properties, then deselecting 
  306. the "Outbound Files" option in the "Scan" 
  307. group. Windows 95/98 versions of VShield do not
  308. have the "Outbound Files" option, but users may
  309. speed the uninstall by disabling "System Scan"
  310. directly from the VShield tray icon.
  311.  
  312. Microsoft ImageList common control 
  313. and video drivers
  314. -----------------------------------------------
  315. Some older video drivers (S3 Virge GX, Diamond 
  316. Viper, Riva TNT, Matrox Millenium, and others) 
  317. have trouble handling the quantity of images 
  318. that the Delphi IDE's component palette places 
  319. in its internal ImageList control. This can cause 
  320. the component icons to appear shifted or corrupted 
  321. in the IDE component palette. The solution is to 
  322. contact your video card vendor for an updated 
  323. video driver. At the time of this writing, all 
  324. the video drivers known to exhibit problems with 
  325. the Microsoft ImageList control have been updated 
  326. with fixes by the video card vendors.
  327.  
  328. You can also work around this ImageList problem 
  329. by reducing or disabling video hardware 
  330. acceleration in your Windows configuration 
  331. settings. For instructions, consult your operating
  332. system and video hardware documentation.
  333.  
  334. ActiveX Wizard/licensing issue
  335. -----------------------------------------------
  336. [Enterprise, Professional editions only]
  337. Delphi does not directly support the licensing
  338. of ActiveX controls for Web deployment. 
  339. License package (.LPK) files, which are 
  340. required for runtime licensing of ActiveX 
  341. controls, can only be generated by 
  342. LPK_TOOL.EXE, a utility available in 
  343. Microsoft's Internet SDK. For more information 
  344. on the license-creation tool and how it is used, 
  345. visit http://support.microsoft.com 
  346. and search for "LPK".
  347.  
  348. Microsoft Transaction Server (MTS)
  349. -----------------------------------------------
  350. [Enterprise, Professional editions only]
  351. If Microsoft Transaction Server (MTS) is 
  352. installed before Delphi 5 is installed, the 
  353. only preparation required is to set MTS POOLING
  354. to TRUE in the Borland Database Engine (BDE) 
  355. configuration file. Use the BDE Administrator 
  356. to do this. The MTS POOLING setting is in the 
  357. System/Init area of the configuration. This 
  358. setting enables the BDE to use MTS pooling, 
  359. improving the initial connection time when 
  360. opening a database and allowing BDE database 
  361. connections to participate in MTS transactions.
  362.  
  363. If MTS is installed after Delphi 5 has been 
  364. installed, additional steps must be taken:
  365. 1. Copy DISP.DLL from the RUNIMAGE directory 
  366.    on your Delphi 5 CD into the BDE directory 
  367.    on the host computer.
  368. 2. Issue the following command:
  369.     REGSVR32 <BDE directory>\DISP.DLL
  370. 3. In Transaction Server Explorer, install the
  371.    BDE-MTS package:
  372.      a. Right Click on Packages Installed.
  373.      b. Choose New | Package.
  374.      c. Choose Install pre-built packages.
  375.      d. Add file DISP.PAK from the BDE 
  376.         directory.
  377. 4. Set the value of  MTS POOLING to True in 
  378.    the System/Init section of the BDE 
  379.    configuration.
  380.  
  381. Microsoft icon cache prevents icon updating
  382. -----------------------------------------------
  383. If running Delphi 5 on a Windows 95 or 98 
  384. machine on which Delphi 4 was previously 
  385. installed (even if it is no longer present), 
  386. the Delphi 4 icon set may persist in its 
  387. association to Delphi applications, overriding 
  388. the new Delphi 5 icon set. This is a known 
  389. problem with Microsoft's icon cache updating
  390. mechanism on Windows 95/98. To read about the
  391. problem and its solution:
  392. 1. Visit the Microsoft KnowledgeBase at
  393.    http://support.microsoft.com/search/default.asp
  394. 2. Choose Search All Microsoft Products from the
  395.    listbox.
  396. 3. Choose the "Keywords" option. 
  397. 3. In Search Options (lower part of the page), 
  398.    choose to search against Titles. 
  399. 4. Type the phrase "icons randomly change" 
  400.    (no quotes) into the Question field. The search 
  401.    should yield a number of article titles, any of
  402.    which should lead you to a resolution.
  403.  
  404. IntelliMouse driver v2.2
  405. -----------------------------------------------
  406. Version 2.2 of the Microsoft IntelliMouse 
  407. driver writes an invalid value to the registry
  408. when it is installed. This default value can
  409. cause some applications, including Delphi,
  410. Outlook Express, and Windows Explorer, to
  411. crash. To correct the problem:
  412. 1. Use Regedit to locate the key
  413.    HKEY_USERS\.Default\Control Panel\
  414.                Microsoft Input Devices\Mouse
  415. 2. If the value of TrayIcon is "ON", edit
  416.    the value to make it "TRUE" ("FALSE"
  417.    works as well).
  418.  
  419. ODBC certification
  420. -----------------------------------------------
  421. [Enterprise and Professional editions only]
  422.  
  423. The following ODBC drivers  are certified for 
  424. use with Delphi 5 and BDE.
  425.  
  426. ODBC Driver Manager 3.5
  427.  
  428. Fully certified drivers:
  429.  
  430. ACCESS (Microsoft 3.40-Access 95 and 97)
  431. FOXPRO (Microsoft 3.40)
  432. MSSQL Server (Microsoft 3.00-Server version 6.5)
  433. MSSQL Server (Intersolv 3.01-Server version 6.5)
  434. ORACLE 7 (Intersolv 3.01-Server version 7.3)
  435.  
  436. Certified for basic functionality:
  437.  
  438. INFORMIX (Intersolv 3.01
  439.     - Server version 7.20 and 9.11)
  440. DB2 (IBMv5 client 6/98
  441.     - No driver version info available: 
  442.       tested against 2.12 and 5.0(UDB) server
  443. SYBASE (Intersolv 3.01
  444.     - Server version 11.02)
  445.  
  446. ODBC Driver Manager 3.51
  447.  
  448. Fully certified drivers:
  449.  
  450. ACCESS (Microsoft 3.51-Access 95 and 97)
  451. FOXPRO (Microsoft 3.51)
  452. MSSQL Server (Microsoft 3.6
  453.     - Server version 6.5 and 7.0)
  454. MSSQL Server (Intersolv 3.11
  455.     - Server version 6.5 and 7.0)
  456. ORACLE7 (Intersolv 3.11
  457.     - Server version 7.3)
  458.  
  459. Certified for basic functionality:
  460.  
  461. DB2 (IBMv5 client 6/98
  462.     - No driver version info available: 
  463.       tested against 2.12 and 5.0(UDB) server
  464. SYBASE (Intersolv 3.11
  465.     - Server version 11.02)
  466. ORACLE8 (Intersolv 3.11
  467.     - Server version 7.3 and 8.04)
  468.  
  469.  
  470. DELPHI 5 KNOWN ISSUES
  471. ===============================================
  472. For additional late-breaking Delphi 5 usage 
  473. notes, see the section "ONLINE HELP 
  474. OMISSIONS, CORRECTIONS, AND 
  475. CLARIFICATIONS" later in this document.
  476.  
  477. ADO issues
  478. -----------------------------------------------
  479. [Enterprise edition only]
  480.  
  481. When using TADOTable or TADODataSet, an error
  482. may occur when retrieving a list of table names 
  483. from Microsoft SQL Server 6.5. To correct the 
  484. problem, you must install the latest 
  485. SQL Server 6.5 Service Pack (currently 5a), 
  486. or update the system catalog as described in 
  487. the MDACREADME.TXT file that accompanies 
  488. MDAC 2.1. 
  489.  
  490. When using the Filter property on the ADO
  491. dataset components, ADO requires a space  
  492. between operators and field names. 
  493. For example,field>0 fails, field > 0 works.
  494.  
  495. You cannot open tables or procedures that 
  496. contain mixed case names on Oracle servers 
  497. unless the names containing lower case letters
  498. are enclosed in quotation marks. Affects 
  499. ADODataSet, ADOCommand, ADOTable, and 
  500. ADOStoredProc objects.
  501.  
  502. The IndexName and Seek methods of TADODataSet 
  503. currently only work with the Microsoft Jet 4.0 
  504. provider when using a database file created with 
  505. Access 2000.
  506.  
  507. The Oracle provider included with the MDAC runtime 
  508. does not support Oracle 8 datatypes (CLOB, BLOB, 
  509. NVARCHAR2, NCHAR, etc.).
  510.  
  511. When using the Merant (Informix 7, 9) provider, 
  512. MSADO15.DLL generates an AV when working with
  513. Stored Procedure parameters.
  514.  
  515. ADO does not support case-sensitive filters
  516. or find operations.  Because of this, the
  517. FilterOptions and LocateOptions on the ADO
  518. dataset components do not respect the case
  519. sensitive option and always return case-insensitive
  520. results.
  521.  
  522. When opening tables or stored procedures on an 
  523. Oracle server, you must put double quotes around 
  524. any mixed case names as required by the server 
  525. ("TableName").
  526.  
  527. When using the ADO Dataset components on a 
  528. MIDAS application server, ensure that the
  529. Active property is set to false at design
  530. time to ensure that any Refresh after
  531. an update will return the correct data.
  532.  
  533. When using the TParameters.CreateParameters
  534. method, ADO requires that the size parameter
  535. be set to a value greater than zero if the
  536. value parameter is null.
  537.  
  538. When using the Microsoft Jet 3.51 provider,
  539. an error will occur if you bind values to
  540. boolean columns using ftBoolean.  The problem
  541. is corrected in the 4.0 provider.  You can
  542. bind the parameters as ftInteger to workaround
  543. the problem.
  544.  
  545. When using the pfXML option with the 
  546. TADODataSet.SaveToFile method, you
  547. must first install version 5.0 of Internet
  548. Explorer in order to reload the data.  The XML
  549. parser which is required to interpret the data
  550. is not included with the 2.1 MDAC runtime.
  551.  
  552. MIDAS\InternetExpress
  553. -----------------------------------------------
  554. [Enterprise edition only]
  555.  
  556. There is a known design-time problem when 
  557. building an Internet Express application 
  558. that uses a local provider: Each time the project 
  559. is reloaded, the XMLBroker Connected property 
  560. is reset to False, and you must manually reset
  561. it to True.
  562.  
  563. When a MIDAS server will not shut down as 
  564. expected: 
  565. A client Web application may not always be 
  566. able to shut down a MIDAS server launched via 
  567. an HTTP connection or via DCOM from an 
  568. InternetExpress client unless the DCOM user 
  569. account is set to "Interactive User" on the 
  570. server machine. To set this permission, run 
  571. DCOMCNFG.EXE on the server machine, choose 
  572. your MIDAS server from among the listed 
  573. Applications, press Properties, then 
  574. Identities, and select Interactive User. In 
  575. subsequent sessions, the server may be shut 
  576. down as expected.
  577.  
  578. "Invalid Filename" is returned trying to 
  579. Activate a ClientDataSet when:
  580. -- A MIDAS server has a provider located on a 
  581.    Novell network; or
  582. -- A ClientDataSet attempts to connect to a 
  583.    MIDAS server on another machine.
  584. The solution to both of these situations is the
  585. same as that described in the previous note 
  586. (set the MIDAS server Application Identity 
  587. to "Interactive User").
  588.  
  589. The Netscape browser does not support XML Islands,
  590. and, as a result, will crash with an out-of-memory
  591. error when the InternetExpress application 
  592. accesses MIDAS data with a very large data packet.
  593. This behavior also occurs if using Internet Explorer
  594. without XML Islands support (if using Islands, 
  595. it does not occur).
  596.  
  597. Current versions of the Netscape browser do not
  598. support Unicode. Thus, if you input DBCS 
  599. characters into a Dataset field, the characters
  600. will not display correctly in a Netscape 
  601. browser. This problem does not occur in 
  602. Internet Explorer.
  603.  
  604. InternetExpress clients accessing multi-byte 
  605. character set (MBCS) data from a MIDAS 
  606. server will receive the error 
  607. "<MBCS fieldname>:name not found in rowset"
  608. unless the MIDAS server is running on an MBCS
  609. operating system.
  610.  
  611. ActiveX imports
  612. -----------------------------------------------
  613. [Enterprise and Professional editions only]
  614.  
  615. If you import an ActiveX control and a _TLB.pas
  616. file already exists with the same name as the 
  617. imported control, you are asked if you want to 
  618. overwrite the existing _TLB. If you choose to 
  619. overwrite and continue, it may appear that the 
  620. file was not overwritten (the behavior of what 
  621. should have been the overwritten control 
  622. remains in effect).
  623.  
  624. In fact, the overwrite does occur, but the IDE
  625. will not recognize the new control until you 
  626. close and then reopen the newly created 
  627. _TLB.pas file (without saving it, since you've
  628. already performed the overwrite).
  629.  
  630. ActiveX imports (Windows 98 only):
  631.  
  632. Importing certain OLE servers when running 
  633. Delphi under Windows 98 will result in the 
  634. generation of packages with invalid bitmaps. 
  635. These bitmaps will be replaced with the default 
  636. Delphi three-object icon when the package is 
  637. installed on the component palette.
  638.  
  639. To get the correct icons, re-import the server 
  640. under Windows NT and use the .dcr generated by 
  641. that import, rather than the .dcr generated 
  642. under Windows 98, when installing the package
  643. onto the palette.
  644.  
  645. Frames
  646. -----------------------------------------------
  647. Multi-level references and indirect event 
  648. calls are not automatically generated in 
  649. nested frames. Such multi-level functionality
  650. must be coded separately.
  651.  
  652. When creating templates from frames make sure 
  653. the frame source is saved before creating the
  654. template or adding the frame to the palette. 
  655. Doing so will avoid later problems if the frame
  656. is saved under a different name.
  657.  
  658. When using TChart components and frames on the 
  659. same form, changes to the components are not 
  660. inherited from frame to frame. 
  661. Recommendation: Do not change TChart component
  662. settings when using the components on forms 
  663. with frames.
  664.  
  665. Cached updates and master-detail relationships
  666. -----------------------------------------------
  667. [Enterprise and Professional editions]
  668. Cached Updates cannot be used effectively with
  669. TQuery components when doing master-detail 
  670. links (DataSource property). This is because 
  671. the detail query is reexecuted each time the 
  672. master record pointer moves. 
  673.  
  674. SQL Explorer and Sybase 11.5 
  675. -----------------------------------------------
  676. [Enterprise edition only]
  677. When SQL Explorer connects to a Sybase 11.5 
  678. server, the following problems occur:
  679. -- The server type is shown as 
  680.    "SYBASE: Unknown Version: Mapping error: 
  681.    Bad template: SQL Server/([0-9]+)\."
  682. -- If the text tab is selected for a table with
  683.    a numeric field, a "Property Precision does 
  684.    not exist" error message is generated.
  685. -- The server displays only Columns, Indices 
  686.    and Triggers in table trees.
  687. Workaround for above three problems: 
  688. edit DBX.DBI, located in your Delphi5/Bin 
  689. directory, and change the line:
  690.   SYBASE:IdentityRE=SQL Server/([0-9]+)\.
  691. to (these two lines should be on one line 
  692. in the DBI file): 
  693.   SYBASE:IdentityRE=[SQL Server]
  694.   [Adaptive Server Enterprise]/([0-9]+)\.
  695.  
  696. BLOB limitations
  697. -----------------------------------------------
  698. [Enterprise and Professional editions only]
  699.  
  700. When using ODBC, BLOB size is limited to 
  701. 1,000,000 (1 million, not 1 MB) bytes. 
  702. Attempting to post a larger record generates an
  703. "Invalid Blob Size" error.
  704.  
  705. You may experience more severe limitations 
  706. using BLOBs with SQL Anywhere. When using 
  707. that product, problems have been encountered 
  708. when trying to read BLOBs as small as 24-32K 
  709. in a dead query.
  710.  
  711. Images in a TTreeView
  712. -----------------------------------------------
  713. TTreeView cannot repaint a node's image when 
  714. its ImageIndex is set outside of 
  715. OnGetImageIndex (e.g., in a button click) 
  716. and OnGetImageIndex is assigned (if the event 
  717. handler is not assigned, it works correctly). 
  718. This is due to a limitation in the TreeView 
  719. control and is designed to avoid recursion. 
  720. A simple workaround is to call 
  721. TreeView.Invalidate after setting the 
  722. ImageIndex.
  723.  
  724. RichEdit controls
  725. -----------------------------------------------
  726. If CoInitializeEx is called with 
  727. COINIT_MULTITHREADED or CoInitFlags has 
  728. been set to  COINIT_MULTITHREADED and you
  729. have a form containing a RichEdit control, 
  730. creation of the RichEdit control will fail. 
  731. If you need to use the RichEdit control in a 
  732. multi-threaded OLE server, subclass the control
  733. and override CreateParams in order to set the 
  734. correct style.
  735.  
  736. Overloaded routines and default parameters
  737. -----------------------------------------------
  738. Overloaded routines with default parameters are
  739. not always handled correctly by the compiler. 
  740. Overloaded procedures and functions that have 
  741. default parameters should be converted to 
  742. equivalent routines that are overloaded but do
  743. not use default parameters.
  744.  
  745. For example, the following code:
  746.  
  747.   procedure Proc1(S: string; I: Integer = 0); overload;
  748.   procedure Proc1(F: Float; I: Integer = 0); overload;
  749.  
  750. should be converted to:
  751.  
  752.   procedure Proc1(S: string); overload;
  753.   procedure Proc1(S: string; I: Integer); overload;
  754.   procedure Proc1(F: Float); overload;
  755.   procedure Proc1(F: Float; I: Integer); overload;
  756.  
  757. The implementation of Proc1(S: string) 
  758. would then be:
  759.  
  760.   procedure Proc1(S: string);
  761.   begin
  762.     Proc1(S, 0);
  763.   end;
  764.  
  765. Project Browser
  766. -----------------------------------------------
  767. The References page of the Project Browser 
  768. finds occurrences of most items, including 
  769. properties and global routines, across all 
  770. project source files. But it finds occurrences
  771. of a method only in the unit where the method 
  772. is declared. This limitation will be removed 
  773. in a future release.
  774.  
  775. Docking issues
  776. -----------------------------------------------
  777. On a dockable form, TreeViews will lose their 
  778. items when docking and undocking from a 
  779. docksite parented by an MDI form. 
  780. Workarounds:
  781. 1. Parent the TreeView to something other than
  782.    the docking form (such as a panel).
  783. 2. Use the TreeView's FloatingDockSiteClass 
  784.    form as the floating dock host.
  785.  
  786. Warning: Do not use duplicate menu names
  787. -----------------------------------------------
  788. If a form contains a menu control and all of the
  789. names in the menu control are not unique, an 
  790. error will occur if you use the form to create a 
  791. new inherited form. The error will occur, for 
  792. example, if two or more blank menu items exist.
  793.  
  794. Menu Shortcut Conflicts
  795. -----------------------------------------------
  796. Menu shortcuts in the IDE may conflict with 
  797. system shortcuts and international character key
  798. combinations. If you want to disable the Ctrl+Alt 
  799. hot keys in the IDE, set this DWORD registry key:
  800.  
  801. HKEY_CURRENT_USER\Software\Borland\Delphi\5.0\
  802.    Editor\Options\
  803. NoCtrlAltKeys to "1"
  804.   
  805. BDE and related utility application issues
  806. -----------------------------------------------
  807. [Enterprise and Professional editions only]
  808.  
  809. A threading problem occurs if you set the 
  810. session property sesCFGMODE2 to cfgmVirtual
  811. and/or cfgmSession (though cfgmPersistent 
  812. works). Specifying either of the two noted
  813. settings can cause a GPF in your program.
  814.  
  815. A mismatch between Oracle client and server 
  816. versions can cause BLOB and CLOB access 
  817. problems. SQL Links is not certified to 
  818. overcome this limitation. 
  819. Details: BLOB and CLOB access problems will 
  820. be encountered when an Oracle 8.1.5 client 
  821. communicates with an Oracle 8.0.4 server.
  822. (Delphi 5 is certified only with the Oracle 
  823. 8.1.5 client/Oracle 8.1.5 server configuration.)
  824.  
  825. Using Microsoft Access ODBC driver 
  826. version 4.00.3711.08 with Delphi 5 and BDE 
  827. causes text field lengths to be reported twice 
  828. as long as they actually are. Earlier versions 
  829. of the driver do not exhibit this behavior. 
  830. Nor does the problem occur when ADO is used.
  831.  
  832. TStoredProc components that attempt to get an
  833. spParamList value from an invalid stored
  834. procedure will cause an AV in ORACLIENT8.DLL.
  835. To avoid this problem, make sure the procedure
  836. is valid on the server.
  837.  
  838. Using TQuery with Oracle 8 BLOBs and CLOBs
  839. -----------------------------------------------
  840. Accessing BLOB/CLOB in ORACLE 8 requires a 
  841. LOB locator. The SQL statements for inserting 
  842. LOBS using TQuery is as follows:
  843.  
  844. INSERT INTO LOBTAB ( F_BLOB, F_CLOB) VALUES 
  845. ( EMPTY_BLOB( ), EMPTY_CLOB() ) RETURNING 
  846. F_BLOB, F_CLOB INTO :P1, :P2
  847.  
  848. Here, parameter P1, P2 should be bound as 
  849. OraBlob and OraClob, respectively, and the 
  850. BLOB values can be assigned to the parameters.
  851. SQL Links internally gets the locators from 
  852. the returning clause of the above query and 
  853. populates the LOB.
  854.  
  855. Similarly, an update SQL statement would read:
  856.  
  857. UPDATE LOBTAB SET F_CLOB = EMPTY_CLOB( ) 
  858. RETURNING F_CLOB INTO :P1
  859.  
  860. TQuery parameter binding --
  861. MIDAS and ORACLE 8 CLOB and BLOB fields
  862. -----------------------------------------------
  863.  
  864. Using Oracle 8.1.5 client/server:
  865. If you attempt to set a CLOB to an empty value,
  866. an AV may result when the CLOB is updated via
  867. a TQuery parameter binding or through MIDAS.
  868.  
  869. Using Oracle 8.0.4 client/server:
  870. An AV may result if you attempt to insert a new 
  871. Record with MIDAS and then call ApplyUpdates 
  872. without giving values to CLOB or BLOB fields.  
  873.  
  874. Workaround for both cases:
  875. Use events to guarantee that CLOB and BLOB
  876. fields have a non-null value.
  877.  
  878. Oracle 8, VARRAYs and ADTs
  879. -----------------------------------------------
  880. [Enterprise, Professional editions only]
  881. An application can crash when opening an 
  882. Oracle 8 table that contains a large VARRAY of 
  883. ADTs. Oracle recommends using nested tables
  884. instead of VARRAYs when such configurations are
  885. required.
  886.  
  887.  
  888. ADDITIONAL COMPATIBILITY NOTES
  889. ===============================================
  890.  
  891. The following items describe compatibility 
  892. issues between Delphi 5 and earlier versions of 
  893. Delphi, as well as between Delphi 5 and other 
  894. products.
  895.  
  896. NOTE: The information below was confirmed late
  897. in the development process and may not appear 
  898. in the online Help system. For a more detailed 
  899. discussion of this subject, see "Compatibility
  900. Issues" in the Help Index.
  901.  
  902. DSGNINTF and deployment
  903. -----------------------------------------------
  904.  
  905. DSGNINTF.DCU is no longer shipped with Delphi.
  906. Thus, component developers should consider 
  907. segregating design-time code into separate units 
  908. from runtime code. Runtime code should not refer 
  909. to those units.
  910.  
  911. If this approach is not feasible, you do have the
  912. option of compiling DSGNINTF.PAS (located in
  913. your \source\toolsapi\ directory). This should be
  914. considered a stopgap measure, however, and may
  915. not be available as an option in future releases.
  916.  
  917. You are also reminded that under the terms of
  918. your license agreement, you are not permitted to
  919. distribute DCUs based on source code owned by
  920. Inprise Corporation, no matter how that code 
  921. might be made available to you. For complete
  922. details on licensing restrictions, see the
  923. LICENSE.TXT and DEPLOY.TXT files that accompany
  924. this release.
  925.  
  926. Functions removed
  927. -----------------------------------------------
  928. The DBError and DBErrorFmt functions no longer
  929. appear in DB.PAS.
  930.  
  931. Delphi 3 projects need STDVCL32.DLL
  932. -----------------------------------------------
  933. Projects created in Delphi 3 and earlier 
  934. releases require the presence of STDVCL32.DLL
  935. to enable their loading into Delphi 5.0. When 
  936. the older project is saved in Delphi 5.0, it is
  937. upgraded to use the new STDVCL40.DLL, and the 
  938. older library is no longer required.
  939.  
  940. ONLINE HELP OMISSIONS, 
  941. CORRECTIONS, AND CLARIFICATIONS
  942. ===============================================
  943.  
  944. The following items describe late-breaking
  945. features and elements that are either not 
  946. covered or require correction or clarification 
  947. in the online Help system that ships with 
  948. Delphi 5. Most items include a title and
  949. keyword that will help you locate the affected
  950. topics.
  951.  
  952. Using CORBA
  953. -----------------------------------------------
  954. CORBA applications require an active TCP/IP 
  955. stack to operate.
  956.  
  957. CORBA client and server applications that call 
  958. or implement interfaces declaring OleVariants 
  959. as method parameters are advised to add 
  960. ShareMem as the first unit in the application's 
  961. uses list. ShareMem is necessary to manage 
  962. memory allocated to hold Pascal long strings.  
  963.  
  964. TADOConnection
  965. -----------------------------------------------
  966. Topic title/keyword: TADOConnection
  967. New published property: KeepConnection
  968. Description: Specifies whether an application
  969. remains connected to a database even if no
  970. datasets are open. For details, see the
  971. similar property description at 
  972. TDatabase.KeepConnection
  973.  
  974. TComponent
  975. -----------------------------------------------
  976. Topic title/keyword: TComponent
  977. New public method: RemoveFreeNotification
  978. Description: Disables destruction notification
  979. after it has been enabled by FreeNotification.
  980.  
  981. TComponent.ComponentState
  982. -----------------------------------------------
  983. Topic title: TComponent.ComponentState
  984. Keyword: TComponentState type
  985. New value option: 
  986. csDesignInstance  This is set on TForm, TFrame,
  987.                   TDataModule, etc. at design 
  988.                   time. It is always set with
  989.                   csDesigning but, unlike 
  990.                   csDesigning, is not set on the
  991.                   sub-components. For frames, it is
  992.                   set on design time frames but not
  993.                   frames that are registered as
  994.                   components.
  995.  
  996. TComServer
  997. -----------------------------------------------
  998. Topic title/keyword: TComServer
  999. New public property: TComServer.UIInteractive
  1000. Description: Controls whether the server 
  1001. displays error messages to the user. Can be set
  1002. to False for COM servers running as a service.
  1003.  
  1004. TOwnerDrawState type
  1005. -----------------------------------------------
  1006. Topic title/keyword: TOwnerDrawState type
  1007. New optional values:
  1008. odHotLight     The item is highlighted when 
  1009.                under the cursor ("hot-tracked").
  1010.                Windows 98/2000.
  1011. odInactive     Both the item and the window 
  1012.                associated with the menu are 
  1013.                inactive. Windows 98/2000.
  1014. odNoAccel      Keyboard accelerator cues 
  1015.                (character underscoring) is not 
  1016.                applied when the control is drawn. 
  1017.                Windows 2000.
  1018. odNoFocusRect  Cues that normally indicate 
  1019.                focus are not applied when the 
  1020.                control is drawn. Windows 2000.
  1021. odReserved1    Not used.
  1022. odReserved2    Not used.
  1023.  
  1024. Updated declaration:
  1025. type TOwnerDrawState = set of (odSelected, 
  1026. odGrayed, odDisabled, odChecked,  odFocused, 
  1027. odDefault, odHotLight, odInactive, odNoAccel, 
  1028. odNoFocusRect, odReserved1, odReserved2, 
  1029. odComboBoxEdit);
  1030.  
  1031. Additional information:
  1032.  
  1033. If you have any code that type-casts the ItemState
  1034. field of a DrawItemStruct, you should change the
  1035. code accordingly.
  1036.  
  1037. Example:
  1038.  
  1039.   with Message.DrawItemStruct^ do
  1040.   begin
  1041.     State := TOwnerDrawState(WordRec(LongRec
  1042.              (itemState).Lo).Lo);
  1043.  
  1044. Should now be:
  1045.  
  1046.   with Message.DrawItemStruct^ do
  1047.   begin
  1048.     State := TOwnerDrawState(LongRec(itemState).Lo);
  1049.  
  1050.  
  1051. TQueryTableProducer
  1052. -----------------------------------------------
  1053. Topic title/keyword: TQueryTableProducer
  1054. Limitation note:
  1055. TQueryTableProducer works only with TQuery 
  1056. components. It does not work with TAdoQuery or 
  1057. TIBQuery.
  1058.  
  1059. TAppletModule
  1060. -----------------------------------------------
  1061. Topic title/keyword: TAppletModule
  1062. Events link is missing. To view Help for 
  1063. events, search "TAppletModule" in the Help 
  1064. Index. Events (OnActivate, OnInquire, 
  1065. OnNewInquire, OnStartWParms, OnStop) are listed
  1066. along with the object's properties and methods.
  1067.  
  1068. Omission: Component Writer's Guide
  1069. -----------------------------------------------
  1070. Topic title: How do you create components?
  1071. Keyword: Creating components
  1072. Problem: Missing table
  1073. Missing table data:
  1074.  
  1075. To: Modify an existing component
  1076. Start with this type: Any existing component,
  1077. such as TButton or TListBox, or an abstract 
  1078. component type, such as TCustomListBox
  1079.  
  1080. To: Create a windowed control
  1081. Start with this type: TWinControl
  1082.  
  1083. To: Create a graphic control
  1084. Start with this type: TGraphicControl
  1085.  
  1086. To: Subclass a Windows control
  1087. Start with this type: Any Windows control
  1088.  
  1089. To: Create a nonvisual component
  1090. Start with this type: TComponent
  1091.  
  1092. Clarification: Debugger services
  1093. -----------------------------------------------
  1094. Topic title: Debugger services
  1095. Keyword: service applications, debugging
  1096. Step 2 of this topic describes adding a 
  1097. registry subkey with the full path to the 
  1098. debugger as the string value, but does not 
  1099. actually specify the path. The value is:
  1100.  
  1101. C:\program files\borland\delphi5\bin\delphi32.exe
  1102.  
  1103. Note that "C:\program files\borland\delphi5" 
  1104. is the default installation folder; if you 
  1105. installed to a different location, modify the 
  1106. string as needed.
  1107.  
  1108. Error: Code snippet won't compile
  1109. -----------------------------------------------
  1110. Topic title: Reading and writing strings
  1111. Keyword: Strings
  1112. The code snippet:
  1113.  
  1114. var
  1115.   fs: TFileStream;
  1116.   s: string = 'Hello';
  1117.  
  1118. should be written as:
  1119.  
  1120. var
  1121.   fs: TFileStream;
  1122. const
  1123.   s: string = 'Hello';
  1124.   
  1125. Correction in example topic: ContentType, 
  1126. ContentStream, SendResponse example
  1127. -----------------------------------------------
  1128. Accessible from example links in VCL topics:
  1129. TISAPIResponse.ContentType,
  1130. TISAPIResponse.SendResponse,
  1131. TCGIResponse.ContentType,
  1132. TCGIResponse.SendResponse,
  1133. TWebResponse.ContentStream,
  1134. TWebResponse.ContentType,
  1135. TWebResponse.SendResponse
  1136.  
  1137. The example topic noted above is incorrect in the 
  1138. online Help file. The corrected code appears
  1139. below. 
  1140. Note: This code segment is part of the
  1141. IServer demo project you'll find at
  1142. /demos/webserv. The corrected code can be found
  1143. in the MAIN.PAS file in that directory. 
  1144.  
  1145. procedure 
  1146. TCustomerInfoModule.CustomerInfoModuleGetImageAction
  1147. (Sender: TObject; Request: TWebRequest; 
  1148. Response: TWebResponse; var Handled: Boolean);
  1149.  
  1150. var
  1151.   Jpg: TJpegImage;
  1152.   S: TMemoryStream;
  1153.   B: TBitmap;
  1154. begin
  1155.   Jpg := TJpegImage.Create;
  1156.   try
  1157.     B := TBitmap.Create;
  1158.     try
  1159.       B.Assign(BioLifeGraphic);
  1160.       Jpg.Assign(B);
  1161.     finally
  1162.       B.Free;
  1163.     end;
  1164.     S := TMemoryStream.Create;
  1165.     Jpg.SaveToStream(S);
  1166.     S.Position := 0;
  1167.     Response.ContentType := 'image/jpeg';
  1168.     Response.ContentStream := S; 
  1169.       // do not free the stream because the response
  1170.       // object will handle that task.
  1171.   finally
  1172.     Jpg.Free;
  1173.   end;
  1174. end;
  1175.  
  1176. Correction: AutoHotKeys property value
  1177. -----------------------------------------------
  1178. [WHATSNEW.HLP]
  1179. Topic title: Miscellaneous VCL Enhancements
  1180. Keyword: VCL,enhancements
  1181. Detail:
  1182. The topic section "New Help hint and menu features"
  1183. states, "Setting the AutoHotKeys property to True 
  1184. causes the menu to maintain hot keys...remove 
  1185. duplicate hot keys, and add unique hot keys...."
  1186. Correction:
  1187. The property value should be maAutomatic, NOT True.
  1188.  
  1189. Correction: ValidHotkeys variable 
  1190. should be ValidMenuHotkeys
  1191. -----------------------------------------------
  1192. Topic title/keyword: ValidHotkeys variable
  1193. Correction: The correct variable name is
  1194. ValidMenuHotkeys.
  1195.  
  1196. TRegistry.Access enhancement
  1197. not noted in "What's New"
  1198. -----------------------------------------------
  1199. Topic title: TRegistry.Access
  1200. Keyword: TRegistry,Access
  1201. Detail: TRegistry.Access is a new property that
  1202. specifies the level of access to use when
  1203. opening keys with TRegistry, TRegistryIniFile,
  1204. or TRegIniFile objects. Among the advantages 
  1205. to using the Access property with those objects
  1206. is the ability to read HKLM on Windows NT
  1207. machines without Administrator privileges.
  1208. See the TRegistry.Access topic for additional
  1209. information.
  1210.  
  1211. Undocumented: ESafeCall exception
  1212. -----------------------------------------------
  1213. ESafeCall is raised when a routine has the
  1214. safecall calling convention but the application
  1215. can't provide the necessary error-handling. For
  1216. example, ESafeCall is raised when safecall is
  1217. used on a method that is not part of a dual
  1218. interface.
  1219. If you see this exception, you should either
  1220. use the ComObj unit--which handles safecall
  1221. correctly--or simply consider not using safecall. 
  1222.  
  1223. Correction to example in topic:
  1224. Supporting state information in remote data modules
  1225. -----------------------------------------------
  1226. Topic keyword: 
  1227. incremental fetching, stateless data modules
  1228.  
  1229. Corrected code (with changes noted):
  1230.  
  1231. TDataModule1.ClientDataSet1BeforeGetRecords(
  1232. Sender: TObject; var OwnerData: OleVariant);
  1233.  
  1234. var
  1235.   CurRecord: TBookMark;
  1236. begin
  1237.   with Sender as TClientDataSet do
  1238.   begin
  1239.     if not Active then Exit; //added
  1240.     CurRecord := GetBookmark; 
  1241.       { save the current record }
  1242.     try
  1243.       Last; {locate the last record in the new packet }
  1244.       OwnerData := FieldValues['Key']; 
  1245.          { Send key value to the application server }
  1246.       GotoBookmark(CurRecord); 
  1247.          { return to current record }
  1248.     finally
  1249.       FreeBookmark(CurRecord);
  1250.     end;
  1251.   end;
  1252.  
  1253. end;
  1254.  
  1255. TRemoteDataModule1.Provider1BeforeGetRecords(
  1256. Sender: TObject; var OwnerData: OleVariant);
  1257.  
  1258. begin
  1259.   with Sender as TDataSetProvider do // was TProvider
  1260.       if not VarIsEmpty(OwnerData) then //added
  1261.         if DataSet.Locate('Key', OwnerData, []) then
  1262.         DataSet.Next; //added
  1263. end;
  1264.  
  1265. Comment:
  1266. The key elements that distinguish this code from
  1267. the example in the Help file are the Active check 
  1268. on the client, the unassigned variant check 
  1269. on the provider, and the call to move next past 
  1270. the located value (without which the last record 
  1271. of the previous fetch is fetched instead).
  1272.  
  1273.  
  1274. Clarification: Converting MIDAS applications
  1275. ------------------------------------------------
  1276. The following is provided to clarify and expand
  1277. upon the Help topic entitled "Converting MIDAS 
  1278. applications". The topic can be found in the
  1279. What's New section of the Help system (keyword
  1280. "MIDAS, upgrade issues"):
  1281.  
  1282. The architecture to support multi-tier database
  1283. (MIDAS) servers in stateless environments (such as
  1284. MTS) has changed in Delphi 5. This has advantages
  1285. over the previous architecture and offers a
  1286. significant increase in performance and
  1287. scalability by reducing message traffic. You will
  1288. need to update your MIDAS 1 and MIDAS 2
  1289. applications to work with MIDAS 3. 
  1290. Follow these steps to convert your MIDAS 1 or
  1291. MIDAS 2 applications to MIDAS 3:
  1292.  
  1293. 1.  Open your MIDAS server.
  1294. 2.  View the Type Library.
  1295. 3.  Add the Borland MIDAS type library to the 
  1296.     Uses page of the server library properties. 
  1297.     In the Type Library Editor, select the Uses page, 
  1298.     then right-click and select Show All Type 
  1299.     Libraries.
  1300. 4.  Remove the BdeProv unit from the uses clause
  1301.     of your remote data module.
  1302. 5.  In the Type Library Editor change the Parent
  1303.     Interface of your server's interface to IAppServer
  1304.     (formerly IDataBroker).
  1305. 6.  Write down the name of any property that
  1306.     returns an IProvider and note any other methods
  1307.     that use IProvider. IProvider is no longer
  1308.     supported, so delete all properties that return an
  1309.     IProvider.
  1310.  
  1311. Note: You need to rewrite methods that use
  1312. IProvider. These properties are added when you
  1313. export a provider and may include custom methods
  1314. that use IProvider as well.
  1315.  
  1316. 7.  Save the type library.
  1317. 8.  Open your RemoteDataModule.
  1318. 9.  From the list that you created of old
  1319.     IProvider properties, make sure you have a
  1320.     TDataSetProvider for each of those properties. If
  1321.     any are missing, drop a TDataSetProvider and set
  1322.     its Name property to the old property name and
  1323.     connect it to the appropriate dataset.  You may
  1324.     have to change the name of both the dataset and
  1325.     the TDataSetProvider, since the old name came from
  1326.     the dataset itself, but now it will come from the
  1327.     TDataSetProvider. 
  1328.  
  1329. Note: If porting a MIDAS 1 application, you may
  1330. want to take this opportunity to convert your
  1331. master detail relations into nested datasets.
  1332.  
  1333. 10. The provider's Reset method has disappeared.
  1334.     Any calls to Reset can be changed to 
  1335.     GetRecords(0,Recs, Ord(grReset)); 
  1336.     The provider's FetchData method has also gone 
  1337.     away. Replace calls to FetchData with 
  1338.     RowRequest(Packet, Ord(foRecord),EmptyParam);
  1339. 11. For any TDataSetProvider that you don't want
  1340.     visible from the client, set TDataSetProvider's
  1341.     Exported property to False.
  1342. 12. In the Code Editor delete the same IProvider
  1343.     properties from the data module that you deleted
  1344.     from the type library.
  1345. 13. If your data module is derived from
  1346.     TDataModule, change it to derive from
  1347.     TRemoteDataModule.
  1348. 14. Run the Socket Server and choose
  1349.     Connections|Registered Objects Only to disable
  1350.     added socket and web connection security. See
  1351.     Changes to MIDAS security for information on how
  1352.     to update your application to include this
  1353.     security.
  1354. 15. Recompile the server.
  1355. 16. Recompile the client.
  1356.  
  1357. Refer also to Changes to MIDAS support for
  1358. detailed information about the architectural
  1359. changes.
  1360.  
  1361. Note: Old get/set methods of type IProvider that
  1362. you replace with TDataSetProviders do not have to
  1363. be reimplemented. It's handled automatically as you 
  1364. add and implicitly export the TDataSetProviders.
  1365.  
  1366. BDE and other Delphi tools
  1367. -----------------------------------------------
  1368. To directly access Help for BDE topics 
  1369. (Enterprise and Professional editions only) and
  1370. other Delphi productivity tools, choose Delphi
  1371. Tools on your Help menu.
  1372.  
  1373. Note: Not all of the specified tools are 
  1374. included with all editions of Delphi. The main 
  1375. topic in the Delphi Tools Help file notes 
  1376. availability of each tool.
  1377.  
  1378. Openhelp usage notes
  1379. -----------------------------------------------
  1380. If you see a red "X" among the items in 
  1381. Openhelp's Contents, Links, or Index lists, it 
  1382. simply indicates that the Openhelp project is 
  1383. referencing files that either do not exist on 
  1384. your system, are not installed, or do not exist
  1385. in your edition of Delphi 5. To remove the item,
  1386. right-click on it and choose "Remove Item".
  1387.  
  1388. Downloading updated Help system components
  1389. -----------------------------------------------
  1390. The online Help files that accompany this 
  1391. release may be updated from time to time to 
  1392. provide corrections, clarification, additional 
  1393. examples and other new information. Updates 
  1394. will be available for download from the Delphi 
  1395. documentation Web site at
  1396. http://www.borland.com/techpubs/delphi
  1397.  
  1398.  
  1399. DELPHI ON THE WEB
  1400. ===============================================
  1401.  
  1402. In addition to numerous private sites that 
  1403. offer Delphi information, instruction, and 
  1404. samples, the following Delphi/Inprise 
  1405. Web-based resources provide a continuous stream
  1406. of news, product information, updates, code, 
  1407. and other materials. You can connect to many of
  1408. these resources directly from the Delphi Help 
  1409. menu.
  1410.  
  1411. Delphi Direct [Help|Delphi Direct]
  1412. -----------------------------------------------
  1413. This IDE add-in resource provides an 
  1414. automatically updated list of links to the 
  1415. latest news, downloads and other information 
  1416. about Delphi and Inprise.
  1417.  
  1418. Code Central
  1419. -----------------------------------------------
  1420. The CodeCentral Repository is a free, 
  1421. Delphi-powered, searchable database of code, 
  1422. tips, and other materials of interest to 
  1423. developers. For details and registration 
  1424. information, visit http://www.borland.com/codecentral
  1425.  
  1426. The Borland/Inprise Web site
  1427. -----------------------------------------------
  1428.  
  1429. Borland/Inprise home page:
  1430.   http://www.borland.com or 
  1431.   http://www.inprise.com
  1432.   [IDE: Help|Borland Home Page]
  1433.  
  1434. Delphi home page:     
  1435.   http://www.borland.com/delphi/
  1436.   [IDE: Help|Delphi Home Page]
  1437.  
  1438. Delphi developer support:
  1439.   http://www.borland.com/devsupport/delphi/
  1440.   [IDE: Help|Delphi Developer Support]
  1441.   
  1442. Delphi updates and other downloads:
  1443.   http://www.borland.com/devsupport/
  1444.        delphi/downloads/
  1445.   
  1446. Delphi documentation site:
  1447.   http://www.borland.com/techpubs/delphi
  1448.  
  1449. Information for C++ developers:
  1450.   http://www.borland.com/delphi/cpp/
  1451.  
  1452. Information for Visual Basic developers:
  1453.   http://www.borland.com/delphi/vb/
  1454.  
  1455. Newsgroups:
  1456.   http://www.borland.com/newsgroups/
  1457.  
  1458. Electronic newsletter subscriptions:
  1459.   http://www.inprise.com/feedback/listserv.html
  1460. International list server:
  1461.   http://www.inprise.com/feedback/intlist.html
  1462.  
  1463. Worldwide offices and distributors:
  1464.   http://www.borland.com/bww/
  1465.  
  1466. Inprise FTP site (anonymous access):
  1467.   ftp.borland.com
  1468.  
  1469. TechFax
  1470. -----------------------------------------------
  1471. Technical documents are available via fax at:
  1472.   1-800-822-4269 (North America)
  1473.  
  1474.  
  1475. ===============================================
  1476. Copyright (c) 1999 Inprise Corporation. 
  1477. All rights reserved.
  1478.  
  1479.  
  1480.